設計模式 單例模式詳解

2021-08-31 07:28:25 字數 1230 閱讀 7658

1. 懶漢式,執行緒不安全

public class singletonpattern 

//懶漢式,執行緒不安全

private static singletonpattern instance;

public static singletonpattern getinstance()

return instance;

}}

2.懶漢式,執行緒安全

public class singletonpattern 

//懶漢式,執行緒不安全

private static singletonpattern instance;

public static synchronized singletonpattern getinstance()

return instance;

}}

3.雙重檢驗鎖

//注意:必須加volatile的關鍵字

private volatile static singletonpattern instance;

public static singletonpattern getinstance()}}

return instance;

}

4.餓漢式(簡單粗暴)

//餓漢式	static final field

private final static singletonpattern instance = new singletonpattern();

public static singletonpattern getinstance()

5.靜態內部類

//靜態內部類	static nested class

private static class singletonholder

public static singletonpattern getinstance()

6.列舉類

對列舉類並不熟悉,這裡就不對它妄加揣測了,想要了解的小夥伴,自行去找其他例子了解吧,抱歉啦!

優點與缺點

設計模式 單例模式詳解

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

單例設計模式(詳解)

模式 模式就是解決一類問題的固定步驟 單例設計模式 保證乙個類在記憶體中只有乙個物件 舉例 多個瀏覽器向伺服器傳送請求,只建立乙個servlet物件處理相應的請求,而不是每接收乙個請求,就建立乙個servlet物件 1.餓漢單例設計模式 1.私有化建構函式 2.宣告本類的引用型別變數,並且使用該變數...

設計模式詳解(1) 單例模式

設計模式詳解 1 單例模式 在有些系統中,為了節省記憶體資源 保證資料內容的一致性,對某些類要求只能建立乙個例項,這就是所謂的單例模式。單例 singleton 模式的定義 指乙個類只有乙個例項,且該類能自行建立這個例項的一種模式。例如,windows 中只能開啟乙個任務管理器,這樣可以避免因開啟多...