### 餓漢模式:
* 在類加載時就創建實例,因此線程安全。
* 不需要考慮多線程同步問題,代碼相對簡單。
* 適用于實例初始化較簡單,且在整個程序生命周期內都需要被使用的情況。
###
### 懶漢模式:
* 在第一次使用時才創建實例,延遲加載。
* 需要考慮多線程并發訪問時的線程安全問題,可以通過synchronized關鍵字或者雙重檢查鎖定等方式來實現。
* 適用于實例初始化較為復雜或者占用資源較多的情況。
###
總的來說,如果你的應用場景需要在整個程序生命周期內都使用單例實例且實例初始化相對簡單,可以選擇餓漢模式。如果實例初始化較為復雜或者占用資源較多,且可能在程序中不被頻繁使用,可以選擇懶漢模式。同時,如果需要考慮多線程并發訪問的情況,記得在懶漢模式中實現線程安全。
- 設計模式六大原則
- 常見的三大設計模式分類
- 創建型模式之單例模式
- 單例模式之懶漢
- 單例模式之餓漢
- 單例模式之如何選擇懶漢餓漢
- 什么情況下使用單例模式
- 創建型模式之工廠模式
- 簡單工廠模式
- 工廠方法模式
- 抽象工廠模式
- 創建型模式之原型模式
- 創建型模式之建造者模式
- 結構型模式之適配器模式
- 接口的適配器模式
- 類的適配器模式
- 結構型模式之橋接模式
- 結構型模式之橋接模式和適配器模式的區別
- 結構型模式之裝飾器模式
- 結構型模式之代理模式
- 結構模式之外觀模式
- 結構模式之享元模式
- 行為模式之策略模式
- 行為模式之模板模式
- 行為模式之觀察者模式
- 行為模式之責任鏈模式
- 行為模式之命令模式
- 行為模式之迭代器模式
- 行為模式之備忘錄模式
- 行為模式之狀態模式