线程安全的单例模式

  • 不用加锁,实现的是懒加载的方式
  • 使用静态内部类的方式
  • 首先说一下static。static作用是把类的成员变成类相关,而不是实例相关,也就是static是把成员变量或者方法提升到类层级。我们规定一下Public 修饰的类叫做外部类,里面所有的类叫做内部类。
public class Singleton {// ---外部类
    class AAA{ // ----内部类
        //...
    }
  • 外部类的上一级程序单元是包,所以外部类不可以用static修饰;而内部类的上一级程序单元是外部类,使用static 修饰可以把内部类变成外部类相关,而不是外部类实例相关。
public class Singleton {
    private Singleton(){
        System.out.println("Singleton");
    }
    private static class Inner{
        private static Singleton s = new Singleton();
    }
    public static Singleton getInstance(){
        return Inner.s;
    }

    public static void main(String[] args) {

    }
}

虚拟机会保证一个类的构造器方法在多线程环境中被正确地加载,同步,如果多个线程同时去初始化一个类,那么只有一个线程去执行这个类的构造器()方法,其他线程都需要阻塞等待,直到活动线程执行()方法完毕。

全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24674次浏览 486人参与
# 中国电信笔试 #
31049次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14107次浏览 209人参与
# 你的实习产出是真实的还是包装的? #
18749次浏览 330人参与
# 如果秋招能重来,我会____ #
96681次浏览 500人参与
# 春招至今,你的战绩如何? #
59737次浏览 538人参与
# 米连集团26产品管培生项目 #
12935次浏览 285人参与
# i人适合做什么工作 #
36898次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79502次浏览 219人参与
# 哪些公司真双非友好? #
69189次浏览 287人参与
# 找AI工作可以去哪些公司? #
7643次浏览 183人参与
# 从事AI岗需要掌握哪些技术栈? #
7615次浏览 244人参与
# 面试尴尬现场 #
220747次浏览 861人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339873次浏览 2165人参与
# 五一之后,实习真的很难找吗? #
102794次浏览 584人参与
# 金三银四,你的春招进行到哪个阶段了? #
21531次浏览 277人参与
# 你做过最难的笔试是哪家公司 #
29928次浏览 186人参与
# 你小时候最想从事什么职业 #
159835次浏览 2072人参与
# 阿里笔试 #
176285次浏览 1302人参与
# 应届生第一份工资要多少合适 #
20473次浏览 84人参与
# 一张图晒出你司的标语 #
3793次浏览 71人参与
# 面试被问期望薪资时该如何回答 #
382455次浏览 2163人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务