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

2021-10-06 13:38:49 字數 876 閱讀 4409

1.什麼是單例

單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。

2.為什麼要用單例

開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件;物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。

3.如何實現單例

單例的實現方式有:

餓漢單例設計模式:通過類獲取單例物件的時候,物件已經提前做好了

步驟:1)定義乙個單例類

2)把類的構造器私有

3)定義乙個靜態成員變數用於存貯乙個物件(餓漢在返回物件的時候,物件要已經做好)

4)定義乙個方法返回單例物件

class

singleinstance1

//提供乙個方法返回單例物件

public

static singleinstance getinstance1()

}

懶漢單例設計模式:通過類獲取單例物件的時候發現沒有物件才去建立乙個物件

步驟:1)定義乙個單例類

2)把類的構造器私有

3)定義乙個靜態成員用於儲存乙個物件(懶漢單例不能直接建立物件,必要的時候才建立)

4)定義乙個單例方法返回物件,判斷物件不存在才建立一次,存在直接返回。

class

singleinstance2()

//通過方法返回乙個物件,第一次不存在物件才建立乙個返回

public

static singleinstance2 getinstance()

return ins;

}}

如果有錯誤,希望同大家一起**謝謝

設計模式 單例模式 懶載入

這篇文章總結幾種比較常用的設計模式,不懂得設計模式。怎麼敢稱熟悉oop思想。單例模式的核心結構中只包含乙個被稱為單例類的特殊類,通過單例模式可以保證系統中乙個類只有乙個例項 由於快載入單例模式是執行緒安全的,所以本文只討論懶載入單例模式的執行緒安全問題 版本一 使用懶載入 快載入 程式呼叫時再分配記...

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

單例模式 singleton pattern 乙個在設計模式中比較簡單的模式,我們常說的餓漢式和懶漢式是最常舉例的兩種寫法。如下餓漢式 public class singleton 獲取例項物件 public static singleton getsingleton 懶漢式 public clas...

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

什麼是單例模式?就是自始至終只有乙個例項,不管new多少次物件,他們都指向同乙個引用。保證整個應用中某個例項有且只能有乙個。比如古代只能有乙個皇帝。一些物件我們只需要乙個,比如 配置檔案 工具類 執行緒池 快取 日誌物件等。如果創作出多個例項,就會導致很多問題,比如占用過多資源,不一致的結果等。單例...