Java設計模式 單例模式的實現

2021-07-24 13:28:33 字數 1006 閱讀 9857

單例模式的幾種實現方法,具體如下:

1. 懶漢模式

2. 餓漢模式

3. 雙重檢查

4. 靜態內部類   目前這個比較好

5. 用快取實現

6. 列舉模式

懶漢模式

public class singleton

public static singleton getinstance()

return instance;}}

優點可以延遲載入

缺點多執行緒不安全

餓漢模式

public class singleton

public static singleton getinstance()}優點

多執行緒安全

缺點載入類時就初始化完成,無法延時載入

雙重檢查

public class singleton

public static singleton getinstance()}}

return instance;}}

優點多執行緒安全

延遲載入

缺點同步耗時

靜態內部類

public class singleton

public static singleton getinstance()

private static class singletonholder }優點

多執行緒安全

延遲載入

耗時短(與雙重檢查相比)

用快取實現

public class singleton

public static singleton getinstance() else

return singleton;}}

優點執行緒安全

缺點占用記憶體較大

列舉模式

public enum singleton }優點

簡潔缺點

占用記憶體大(android官方不推薦使用列舉)

Java實現設計模式之單例模式

1.單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。2.通常,我們可以讓乙個全域性變數使得乙個物件被訪問,但它不能防止你例項化多個物件,乙個最好的辦法就是,讓類自身負責儲存它的唯一例項。這個類可以保證沒有其他例項可以被建立,而且它可以提供乙個訪問該例項的方法。3...

java單例設計模式的實現

package com.lhs 單例設計模式 餓漢式 public class single 3,提供乙個方法可以獲取到該物件 public static single getinstance 懶漢式 package com.lhs 單例設計模式 懶漢式 public class single1 p...

Java設計模式 單例模式

單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...