Java 单例模式Singleton

单例模式特点:

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

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

采用双重校验锁

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;}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容