并发编程中,介绍两种单例模式。
静态内部类模式
JVM对静态内部类使用线程安全的模式,如果有多个线程访问静态内部类需要排队,看下面的例子:
输出结果:
说明:
1、类声明为final的,不能被继承
2、静态内部类,static final的初始化一次类的对象实例
3、每次通过static getInstance方法访问静态类部类的变量,JVM保证安全
双重检查法(懒模式)
下面在在并发编程中,使用双重检查法实现单例,我们看下面的例子:
输出结果:
程序分析:
1、使用懒汉模式,static 加载的时候先判断对象是否为空,后在锁住类,在次检查对象是否为空
閱讀更多 全棧獨立開發者 的文章