单例设计模式之饿汉式(面试)

饿汉式
保证对象在堆中开辟的空间有且只有一个

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(“饿汉式”);
}

缺点:在类加载时就会创建这个类的唯一实例对象

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