單例模式原理

2021-08-13 12:07:01 字數 600 閱讀 7590

單例設計模式:意圖:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

使用性:

當前只能有乙個例項而且客戶可以從乙個眾所周知的訪問它。任何情況下,該類只能建立乙個例項!

單例設計模式建立步驟:

1.定義乙個私有的靜態的當前類型別的屬性。

2私有化構造方法。

3.定義乙個靜態的可以獲取當前類例項的方法。這個方法中我們可以判斷是否建立過例項,創

建過就直接返回,從而達到單例的效果。

單例模式:

餓漢式:

public class singleton       //私有化類構造器,堵死外界使用new來建立例項的可能

public singleton getinstance()

} public class singleton

return singleton;

}}  比較:

餓漢式是執行緒安全的

,在類建立的同時就已經建立好乙個靜態的物件供系統使用

,以後不在改變

懶漢式如果在建立例項物件時不加上

synchronized

則會導致對物件的訪問不是執行緒安全的

推薦使用第一種

單例模式 單例模式

餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...

單例 單例模式

簡單的實現乙個單例 instancetype sharedinstance return instance 真正的單例模式 myclass sharedinstance return instance id allocwithzone nszone zone return nil id copywi...

單例模式 懶漢式單例模式

單例模式有餓漢時模式和懶漢式 單例模式也就是說同一類只返回乙個物件供外部類使用 懶漢式即延遲初始化單例。在多執行緒環境下,簡單的懶漢式會有執行緒安全。懶漢式單例模式解決線性安全問題如下 1 使用雙重檢查鎖機制解決執行緒安全問題。2 單例模式還有更好的解決方案,即使用靜態類方式。懶漢式單例模式典型 p...