單例設計模式:保證類在記憶體中只有乙個物件
如何保證的呢?
(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.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...