package java_model;
//懒汉式:类内实例对象创建时并不直接初始化,直到第一次调用get方法时,才完成初始化操作
//时间换空间
public class SingletonTwo {
//1、创建私有构造方法
private SingletonTwo(){
}
//2、创建静态的该类实例对象
private static SingletonTwo instance = null;
//3、创建开放的静态方法提供实例对象
public static SingletonTwo getInstance(){
if(instance==null)
instance = new SingletonTwo();
return instance;
}
}
SingletonTwo one1 = SingletonTwo.getInstance();
SingletonTwo two1 = SingletonTwo.getInstance();
System.out.println(one1);
System.out.println(two1);
输出:
java_model.SingletonTwo@5305068a
java_model.SingletonTwo@5305068a
饿汉式 PK 懒汉式
- 饿汉式线程安全
- 懒汉式存在线程风险