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 中只能開啟乙個任務管理器,這樣可以避免因開啟多...