单例
/**
* @author jiyu
* @date 2020/12/09 9:09
* @description 单例模式 懒汉式 在第一次调用的时候实例化
*/
public class Singleton2 {
//私有的默认构造子
private Singleton2() {
}
//注意,这里没有final
private static Singleton2 singleton2 = null;
//静态工厂方法
public synchronized static Singleton2 getSingleton2() {
if (singleton2 == null) {
singleton2 = new Singleton2();
}
return singleton2;
}
}
/**
* @author jiyu
* @date 2020/12/09 8:51
* @description 单例模式 饿汉式 在类初始化时,已经自行实例化
*/
public class Singleton1 {
/**
* 私有的默认构造器
*/
private Singleton1() {
}
/**
* 已经自行实例化
*/
private static final Singleton1 singleton1 = new Singleton1();
/**
* 静态工厂方法
*/
public static Singleton1 getSingleton1() {
return singleton1;
}
}