常用的设计模式

单例设计模式 Single

1.1 饿汉式

单例模式:保证一个类只有一个实例,提供一个全局访问点

适用场景:需要共享资源,比如配置对象、连接池、日志对象

public class A {
    private static final A INSTANCE = new A();

    private A(){
        //构造函数私有化,外部就没办法创建新的实例
    }

    public static A getInstance(){
        return INSTANCE;
    }
}

1.2 懒汉式

线程不安全

public class B {
    private static B INSTANCE = null;
    private B(){
        //私有化构造方法,外部无法新建实例
    }

    public static B getINSTANCE(){
        if (INSTANCE == null){
            INSTANCE = new B();
        }
        return INSTANCE;
    }
}

1.3 双重检查锁(是懒汉式的一种)

线程安全

public class B {
    private static volatile B INSTANCE = null;
    private B(){
        //私有化构造方法,外部无法新建实例
    }

    public static B getINSTANCE(){
        if (INSTANCE == null){
            synchronized (B.class){
                if (INSTANCE == null){
                    INSTANCE = new B();
                }
            }
        }
        return INSTANCE;
    }
}

 

THE END
文章版权归Tinsur.cn所有,转载分享请标注原链接
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容