Spring單例模式與NIO思考

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

    缺點一:由於只有一個對象,如果屬於類的成員變量,則會被多次調用,類似於類的靜態變量。
    缺點二:BIO中,如果你在這個對象中的方法上使用了Synchronized,代表鎖住的是該對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章