單例設計模式:其定義是單例物件的類只能允許乙個例項存在。
1,飽漢式:
優點:懶載入,節約記憶體空間。
缺點:執行緒不安全,當有多個執行緒時,乙個執行緒進入if語句,還沒來得及執行,另乙個執行緒也進去了。
結果可能會產生多個例項。
public
class
singleton
;public
static singleton forinstance()
return singleton;
}}
2飽漢式(執行緒安全);
缺點:效率低。
public
class
singleton
;public
static
synchronized singleton forinstance()
return singleton;
}}
3,餓漢式:
優點:執行緒安全,實現簡單。
缺點:類載入時就初始化了,沒有實現懶載入。
public
class
singleton
;public
static singleton forinstance()
}
4,餓漢式(靜態**塊);
public
class
singleton
private
singleton()
;public
static singleton forinstance()
}
5,飽漢式(執行緒安全);
優點: 雙重檢查**,既解決了執行緒安全問題, 又保證了效率,。
缺點:複雜。
class
singleton
public
static singleton singleton()
}}return instance;
}}
6,列舉類
**簡潔,沒有問題。
enum singleton
}
設計模式 單例模式的幾種寫法
一 單例模式 單例模式是一種建立型的模式,指某個類採用單例模式後,在這個類被建立後,只產生乙個例項以供外部訪問,且提供乙個全域性的訪問點。單例模式在開發中具有相當大的重要性,並且 實現相對簡潔。所以其是為數不多的在面試中會被問到且要求手擼 的設計模式哦 二 幾種單例的寫法及比較 1.飽漢模式 pac...
單例模式幾種寫法
1.餓漢式 public class singleton public static singleton getinstance 2.懶漢式 public class singleton 雙層檢測鎖 public static singleton getinstance return instanc...
設計模式之單例模式的幾種寫法
經過了前面幾次的面試,我發現面試官對設計模式方面的提問頻率是非常高的,所以學習設計模式是一件刻不容緩的事情,今天我們就來說一下設計模式中的單例模式吧。設計模式並不是什麼神技,而是一套 的設計,是經驗的總結,使用設計模式是為了實現 的復用以及 解耦 關於程式設計裡面解耦的概念可以參考一下下面這篇知乎。...