作用
用于保證整個應用中的某個執行個體有且隻有一個。
建立多個執行個體會造成占用過多資源,不一緻結果。
應用場景
有些對象我們隻需要一個,如:配置檔案、工具類、線程池、緩存、日志對象等。
實作
【目的】整個應用隻需要一個Singleton類的執行個體。
【實作關鍵】将構造方法私有化,不允許外部直接建立對象。
>餓漢模式——在類加載時便建立singleton執行個體
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
>懶漢模式——在運作時才建立singleton執行個體
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
【餓漢模式 vs. 懶漢模式】
餓漢模式:加載類時比較慢,但運作時擷取對象的速度比較快;線程安全;
懶漢模式:加載類時比較快,但運作時擷取對象的速度比較慢;非線程安全;