單例設計模式之餓漢式(面試)

餓漢式
保證對象在堆中開闢的空間有且只有一個

public class SingleData {
public static void main(String[] args) {
SingleDate single = SingleDate.getInstance();
single.method();
}
}
class SingleDate{
private static Object lock = new Object();
// 1.私有化構造函數
private SingleDate() {}
// 2.不能在類加載的時候創建對象,所以這裏不能直接顯示賦值
private static SingleDate single = null;
// 3.要提供一個公開的靜態方法,共別人獲取這個實例
// 要在第一次調用這個方法時創建對象
public static SingleDate getInstance() {
synchronized (lock) {
return single = new SingleDate();
}
}
public void method() {
System.out.println(“餓漢式”);
}

缺點:在類加載時就會創建這個類的唯一實例對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章