23種設計模式之 單例模式

2021-10-12 00:03:06 字數 642 閱讀 3663

以下的說明都是學習過程、主要是幫助理解單例模式

實際開發可能會出現問題,例如:執行緒不安全等

//提供共有的、靜態的 方法 訪問

public

static hungrysingleton gethungry()

return hungry;

}}優點:

1、執行緒安全

2、在類載入的同時已經建立好乙個靜態物件,呼叫時反應速度快

缺點:資源效率不高,可能gethungry()永遠不會執行,但是這個例項仍然初始化

class

lazysingleton

// 靜態的、公有、方法,在方法裡建立例項

public

static lazysingleton getlazysingleton()

return lazy;

}}

優點:

避免了餓漢式的那種在滅有用到的情況下建立例項,提高了資源的利用率

23種設計模式之單例模式

我們也經常遇到類似的情況,為了節約系統資源,有時需要確保系統中某個類只有唯一乙個例項,當這個唯一例項建立成功之後,我們無法再建立乙個同型別的其他物件,所有的操作都只能基於這個唯一例項。為了確保物件的唯一性,我們可以通過單例模式來實現,這就是單例模式的動機所在。定義 單例模式 singleton pa...

23種設計模式之 單例模式

保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。讓類自身負責儲存它的唯一例項,這個類可以保證沒有其他例項可以被建立,並且它可以提供乙個訪問 獲取 該例項的方法。單例類應滿足以下特點 單例類 singleton 自己例項化自己的唯一例項,並提供訪問該唯一例項的方法。public class s...

23種設計模式之單例模式

單例模式 確保乙個類最多只有乙個例項,並提供乙個全域性訪問點 普通單例模式示例 有問題 public class singleton public static singleton getinstance return uniqueinstance 示例singleton public class ...