1. 程式人生 > >單列模式的介紹

單列模式的介紹

技術 依靠 情況 分享 圖片 補充 單例模式 應用場景 單列

1. 單例模式的作用和應用場景(不全後面補充)

1.1保證裏面Java應用程序中,只有一個實例的存在。比如:瀏覽網站顯示當前在線人數,就是用一個單例的對象。

2.單例模式的幾種寫法

2.1註意事項:

(1)下面的寫法都是正確的,只是有優缺點,適用的場景不同而已。

(2)單例模式都是把構造方法私有化,外部不能進行創建實例的操作,只提供給外界獲取對象的方法。

2.2懶漢式,只適合單線程,多線程不安全

在多線程的情況下,可能會被實例多次

技術分享圖片

2.3對懶漢式進行改造,通過關鍵字synchronized對方法進行加鎖,線程安全

這種寫法能在多線程中很好的工作,但是每次調用都加同步鎖,效率變低。

技術分享圖片

2.4餓漢式

不管用不用,都會在類加載的時候創建對象,如果使用十分少,就浪費了內存

技術分享圖片

2.5靜態內部類

這個方式是最好的,使用的時候才創建單例對象,同時保證了線程的安全。

技術分享圖片

最後總結:單例模式的使用,依靠的就是靜態內部類,使用的時候創建保證效率同時能安全。

思考:靜態內部類還有那些好處?

單列模式的介紹