設計模式 單例的7種模式

2021-08-29 16:36:23 字數 1044 閱讀 1385

/*

1. 餓漢式:類初始化時,會立即載入該物件,執行緒天生安全,呼叫效率高。

2. 懶漢式: 類初始化時,不會初始化該物件,真正需要使用的時候才會建立該物件,具備懶載入功能。

3. 靜態內部方式:結合了懶漢式和餓漢式各自的優點,真正需要物件的時候才會載入,載入類是執行緒安全的。

4. 列舉單例: 使用列舉實現單例模式 優點:實現簡單、呼叫效率高,列舉本身就是單例,由jvm從根本上提供保障!避免通過反射和反序列化的漏洞, 缺點沒有延遲載入。

5. 雙重檢測鎖方式 (因為jvm本質重排序的原因,可能會初始化多次,不推薦使用)

不需延遲載入 餓漢列舉 延遲載入 靜態內部模擬懶漢式更優 實際餓漢

*/class singletondemo1

public static singletondemo1 getinstance()

}class singletondemo2

public static singletondemo2 getinstance()

}class singletondemo3

public static synchronized singletondemo3 getinstance()

}class singletondemo4

private singletondemo4()

public static singletondemo4 getinstance()

}class singletondemo5

public singletondemo5 getinstance()

}}class singletondemo6

public static singletondemo6 getsingleton() }}

return singleton;

}}class singletondemo7

private singletondemo7()

public static final singletondemo7 getinstance()

設計模式系列 單例模式的7種寫法

單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。singletom類,定義乙個getinstanc...

大戰設計模式 7 單例模式

設計模式使用的例子 確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全域性訪問的方法。單例模式是一種物件建立模式。singleton 單例 提供了對唯一例項的受控訪問。單例類封裝了它的唯一例項,所以它可以嚴格控制客戶怎樣以及何時訪問它。由於在系統記憶體中只存...

白話設計模式之單例模式(7種寫法)

學習設計模式的時候 往往第乙個就是單例模式,啥是單例模式呢?接下來我就為大家梳理一下7種寫法 1.定義 ensure a class has only one instance,and provide a global point of access to it.確保某乙個類只有乙個例項,而且自行例...