設計模式 單例模式之餓漢式和懶漢式

2021-07-03 15:51:34 字數 587 閱讀 6216

單例模式可以分為懶漢式和餓漢式

餓漢式是執行緒安全的,無需關注多執行緒問題,它是在類載入時建立例項

懶漢式不是執行緒安全的,建立例項的時間與餓漢式相反是延時載入

餓漢式示例**:

public class test

private static test test= null;

public static synchronized test getinstance()

return test;

}}

懶漢式示例**:

public class test

private static test test = new test();

public static test getinstance()

}

單例模式的三要素:

1、私有化構造方法

2、乙個指向自己例項的私有靜態變數

3、供外部呼叫的返回自己例項的靜態方法

當然單例並不只有餓漢式和懶漢式兩種方式,還可以使用列舉,靜態內部類,雙重檢驗鎖的方式來實現

設計模式 單例模式之餓漢式和懶漢式

設計模式 通過大量的實踐和總結出來的優化的 結構,程式設計風格,以及解決問題的方式。單例設計模式 乙個類只能建立乙個例項。如何實現呢?以下4步。1 私有化構造器,為了是只能在類內部建立例項,而不能在類外建立例項。2 在類內部建立例項,私有化此例項。3 公有的方法呼叫此例項,通過類呼叫,因此設定為st...

設計模式之單例模式 懶漢式和餓漢式

特點 建構函式私有化即不能再通過new進行例項化 唯一例項 優點 在記憶體裡只有乙個例項,減少記憶體開銷,尤其是頻繁的建立和銷毀例項 避免對資源的多重占用 檔案讀寫操作 缺點 沒有介面,不能繼承,與單一職責原則衝突,乙個類應該只關心內部邏輯,而不關心外部怎樣例項化 public class lazy...

設計模式之單例模式(餓漢式,懶漢式)

public class singleton1 私有的構造方法 private singleton1 public class singleton2 return instance 私有構造方法 private singleton2 以上的懶漢式,為什麼要進行兩次判空呢?懶漢式單例模式涉及併發的問題...