Spring單例模式與NIO思考

    本人java開發,今天在研究秒殺問題的時候,忽然間腦子裏就產生了這樣的思考。
    衆所周知,Spring默認是單例模式,那麼單例模式有什麼優缺點呢?
    優勢一:建立的對象較少!在Tomcat模型爲BIO時,會對每個請求建立一個線程,若是建立的線程數較大,每個線程中都有@Autowire這種註解,那麼建立的對象就會很是之多。另外,若是對象B注入到對象A的屬性中,若是對象A被建立了多個對象,那麼對象B也會被建立多個,層層依賴。
    固然若是是NIO,就沒有單例的必要了,由於它只會用一個線程了來處理數據請求,這也註定NIO不能用來IO密集型操做。java

    缺點一:因爲只有一個對象,若是屬於類的成員變量,則會被屢次調用,相似於類的靜態變量。
    缺點二:BIO中,若是你在這個對象中的方法上使用了Synchronized,表明鎖住的是該對象。線程

相關文章
相關標籤/搜索