通過列舉實現單例模式
最佳的單例實現模式就是列舉模式。利用列舉的特性,讓jvm來幫我們保證執行緒安全和單一例項的問題。除此之外,寫法還特別簡單。
還可以規避可能還存在反射攻擊或者反序列化攻擊,完全保證單例模式
**示例和注釋:
/**
* 單例模式:列舉方式
* 1.建乙個列舉類
*/public
class
singletonenumdemo};
for(int i=
1;i<=
10;i++)}
}//列舉類
enum singletontest
}
列印結果:
由此可見保證了執行緒同步和唯一例項
列舉類可以這樣解釋:
它自己預設實現了構造器私有化
翻譯成類相當於單例模式(餓漢式):
如果從這種角度去看,列舉的用法就不難理解了,也就是列舉類不給外界例項化的機會,只能它自己例項化,而乙個列舉類的所有例項就只有列舉前面分號前的那幾個(單例模式下,這裡只有乙個,就是instance),其他地方不允許建立。
單例設計模式 列舉
設計模式 是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結 套路 模式 前人已經經過大量測試得出的設計模式 使用設計模式的好處 提高 的可重用性與可靠性。單例設計模式 單個例項 單個物件 意味著只能建立乙個物件,就好電腦的任務管理器,只能有乙個視窗。單例設計模式 私有構造方法 對外提供乙個...
單例設計模式推薦
單例模式主要是為了避免因為建立了多個例項造成資源的浪費,且多個例項由於多次呼叫容易導致結果出現錯誤,而使用單例模式能夠保證整個應用中有且只有乙個例項。從其名字中我們就可以看出所謂單例,就是單個例項也就是說它可以解決的問題是 可以保證乙個類在記憶體中的物件的唯一性,在一些常用的工具類 執行緒池 快取,...
強烈推薦 創業起步 八種贏利模式
8種創業贏利模式 怎樣賺到錢?8種最有效的創業贏利模式之一 從起點出發,受盡苦難周折,卻又回到起點。這是很多創業企業面臨的最大困擾。是什麼原因導致大量的創業企業甚至連進入利潤區的大門都找不到?科學投資 歷時數月,將多年建立的 科學投資 創業企業案例庫中的數百家企業進行統計,得到了這樣一組資料 在創業...