Java 单例模式Singleton

2020-12-09  本文已影响0人  田田ww

单例模式特点:

单例类只能有一个实例
单例类自己内部创建实例
单例类给其他所有对象提供这一实例

懒汉模式(使用时进行对象创建)

采用双重校验锁

public class Singleton{
    private volatile static Singleton singleton;
    private Singleton(){}
    public static Singleton getSingleton(){
        if (singleton == null){//效率:加锁是耗时操作
            synchronized (Singleton.class){
               //避免创建多个对象
                if (singleton == null) singleton = new Singleton();
            }
    }
    return singleton;
}

饿汉模式(类初始化时,自行实例化)

public class Singleton{
    private Singleton(){}
    private static final Singleton singleton = new Singleton();
    public static Singleton getInstance(){return singleton;}
}
上一篇 下一篇

猜你喜欢

热点阅读