【设计模式】单实例模式
程序员文章站
2022-07-14 09:25:51
...
1、懒汉式单例
双重检查锁定
public class Singleton {
private volatile static Singleton single= null;
private Singleton(){}
public static Singleton getInstance(){
if (single==null){
synchronized (Singleton.class){
if (single==null){
single = new Singleton();
}
}
}
return single;
}
}
2、饿汉模式
饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
private Singleton1() {}
private static final Singleton1 single = new Singleton1();
//静态工厂方法
public static Singleton1 getInstance() {
return single;
}
}