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多少次物件,他們都指向同乙個引用。保證整個應用中某個例項有且只能有乙個。比如古代只能有乙個皇帝。一些物件我們只需要乙個,比如 配置檔案 工具類 執行緒池 快取 日誌物件等。如果創作出多個例項,就會導致很多問題,比如占用過多資源,不一致的結果等。單例...