俺有6個漂亮的老婆,她們的老公都是我,我就是我們家裡的老公Sigleton,她們只要說道“老公”,都是指的同一個人,那就是我(剛才做了個夢啦,哪有這麼好的事)
工具/原料
eclipse
java
定義
單例模式確保某一個類只有一個例項,而且自行例項化並向整個系統提供這個例項單例模式。單例模式只應在有真正的“單一例項”的需求時才可使用。
理解
單例模式是一種物件建立型模式,使用單例模式,可以保證為一個類只生成唯一的例項物件。也就是說,在整個程式空間中,該類只存在一個例項物件。其實,GoF對單例模式的定義是:保證一個類、只有一個例項存在,同時提供能對該例項加以訪問的全域性訪問方法。
需求
在應用系統開發中,我們常常有以下需求:
- 在多個執行緒之間,比如servlet環境,共享同一個資源或者操作同一個物件
- 在整個程式空間使用全域性變數,共享資源
- 大規模系統中,為了效能的考慮,需要節省物件的建立時間等等。
因為Singleton模式可以保證為一個類只生成唯一的例項
物件,所以這些情況,Singleton模式就派上用場了
實現
1.餓漢式。
2.懶漢式。
3.雙重檢查。
注意事項
注意死鎖