設計模式學習 單例模式

2021-09-19 05:18:22 字數 881 閱讀 4331

單例模式:

作用是確保某個類只有乙個例項,避免產生多個物件消耗過多的資源

1. 餓漢式:
從字面意思就可以看出,這種寫法就是一開始就直接建立了這個物件,沒有做到懶載入

public class singleton 

public static singleton getinstance()

}

2.懶漢式(執行緒不安全)
同樣從字面意思可看出,這種寫法是只有你需要的時候,通過自己寫的方法裡面來對它進行例項,做到了懶載入,但是在多執行緒下不能正常工作

public class singleton 

public static singleton getinstance()

return instance;

}}

3.懶漢式(執行緒安全)
同上面描述,此寫法能在多執行緒先正常工作,但每次呼叫getinstance方法都會進行同步,速度稍慢,還會造成多餘的開銷,所以不建議使用此種寫法

public class singleton 

public static synchronized singleton getinstance()

return instance;

}}

4.雙重檢查(dcl)
public class singleton 

public static singleton getinstance()}}

return instance;

}}

學習設計模式 單例模式

適用於 優點 缺點 1.懶漢式 public class singleton public static synchronized singleton getinstance return uniqueinstance 2.餓漢式 public class singleton public stat...

設計模式學習 單例模式

單例模式是一種常用的軟體設計模式。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。1.單例模式特點 2.單例模式作用 3.單例模式種類 a.餓漢式 b.懶漢式 c.懶漢式 ...

學習設計模式( ) 單例模式

定義 確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。型別 建立類模式 單例模式應該是23種設計模式中最簡單的一種模式了。它有以下幾個要素 單例模式現在主流推薦第一種雙重檢查型。以前流行的有根據例項化物件時機的不同有分為兩種 一種是餓漢式單例,一種是懶漢式單例。餓漢式單例在單例類被載...