單例模式的的5種寫法

2021-10-12 09:04:08 字數 898 閱讀 7219

public

class

singleton

public

static singleton getinstance()

}

​ 餓漢式,顧名思義,飢餓的人,迫不及待的要獲取食物,即一開始類載入時就例項化了物件。

public

class

singleton

public

static singleton getinstance()

}

​ 懶漢式,即類載入時不例項化物件,當不得不用的時候才會例項化物件。

public

class

singleton

public

static singleton getinstance()

public

static

class

singletonget

}

​ 一開始載入singleton類時並不會例項化instance,當呼叫getinstance方法時虛擬機器載入singletonholder 並例項化instance,這樣不僅能確保執行緒安全也能保證singleton類的唯一性。

public

class

singleton

;public

static singleton getinstance()

}}return instance;

}}

public

enum singleton

}

列舉類天然的能同時滿足多執行緒安全問題以及抵禦序列化和反射對單例的破壞的問題。詳情見:

單例模式的7種寫法

在介紹單例模式的寫法之前,我們有必要了解一下什麼是單例模式。單例模式是一種常用的軟體設計模式,在他的核心結構中只包含乙個被稱為 單例的特殊類。通過單例模式可以保證系統只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的...

單例模式的八種寫法

單例模式是最常用到的設計模式之一,熟悉設計模式的朋友對單例模式都不會陌生。一般介紹單例模式的書籍都會提到餓漢式和懶漢式這兩種實現方式。但是除了這兩種方式,本文還會介紹其他幾種實現單例的方式,讓我們來一起看看吧。單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。許多時候整個系...

單例模式的八種寫法

單例模式是最常用到的設計模式之一,熟悉設計模式的朋友對單例模式都不會陌生。一般介紹單例模式的書籍都會提到 餓漢式 和 懶漢式 這兩種實現方式。但是除了這兩種方式,本文還會介紹其他幾種實現單例的方式,讓我們來一起看看吧。簡介單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。許...