海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java教程:单例模式

未分类
2020-09-10 10:07:04
1822677238@qq.com

手机扫码查看

2020java教程:单例模式

单例模式

单例(Singleton):只允许创建一个该类的对象

方式1:饿汉式(类加载时创建,天生线程安全)

class Teacher{
    private static final Teacher t=new Teacher();
    private Teacher(){}
    public static Teacher getInstance(){
        return t;
    }
}

方式2:懒汉式(使用时创建,线程不安全,加同步)

class Teacher{
    private static Teacher t=null;
    private Teacher(){}
    public static synchronized Teacher getInstance(){
        if (t == null) {
            t=new Teacher();
        }
        return t;
    }
}

方式3:懒汉式(使用时创建,线程安全)

class Teacher{
    private Teacher(){}
    private static class Holder{
        static Teacher t=new Teacher();
    }
    public static Teacher getInstance(){
        return Holder.t;
    }
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注