JavaSE小筆記 28 單例設計模式

2021-08-20 15:12:02 字數 864 閱讀 6231

單例設計模式:保證類在記憶體中只有乙個物件

如何保證的呢?

(1)控制類的建立,不讓其他類來建立本類的物件---private 構造方法

(2)在本類中定義乙個本類的物件--私有和靜態化

(3)提供公共的訪問方法---public stactic 類名 方法名()---return 本類物件

餓漢式

class sinleton

//建立本類物件

private static sinleton s = new sinleton();

//對外提供公共的訪問方法

public static sinleton getinstance()

}

懶漢式---單例的延遲載入模式

class singleton

private static singleton s;

public static singleton getinstance()

return s;

}}

兩者的區別:

1.餓漢式是空間換時間,懶漢式是時間換空間

2.在多執行緒訪問時,餓漢式不會建立多個物件;而懶漢式有可能建立出多個物件

第三種實現方式:

class singleton

public static final singleton s = new singleton();

}

使用場景舉例:

runtime類

javaSE 單例設計模式

四人幫設計了23 中設計模式 單例設計模式 解決乙個類在記憶體中只存在乙個物件 建構函式私有化 在類中建立乙個本類物件 提供乙個方法可以獲取該物件 class single public static single getinstance return single public class sin...

JavaSE 單例和多例

一 單例設計模式 定義 乙個類只能允許例項化乙個物件 餓漢式單例 public class test public static test getinstance public void print 特點 立即初始化 餓漢式單例 立即載入,執行緒安全,記憶體可能會浪費 懶漢式單例 public cl...

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

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...