java单例模式

作者: 韭菜待收割 | 来源:发表于2018-09-10 14:24 被阅读8次

    1、单例模式的三个特点?

    1)单例类只能有一个实例。

    2)单例类必须自己创建自己的唯一实例。

    3)单例类必须给所有其他对象提供这一实例。

    2、单例模式分类

    懒汉式单例、饿汉式单例

    3、饿汉式单例和懒汉式单例区别

    区别1:线程安全

    饿汉式天生是线程安全的。

    懒汉式不是线程安全的,有三种方法可以实现线程安全。

    方法1)在getInstance方法上加同步;

    方法2)双重检查锁定;

    方法3)静态内部类;

    区别2:对象创建的时机不同

    饿汉式单例:类一旦加载,就把单例初始化完成,保证getInstance的时候,单例是已经存在的了。

    懒汉式单例:只有当调用getInstance的时候,才会去初始化这个单例。

    4、单例模式的应用场景

    线程池、缓存、日志对象、对话框、打印机等。

    5、为什么类加载机制能保证初始化instance时只有一个实例?

    Java源码使用同步(synchronized)的方式来保证。

    相关文章

      网友评论

        本文标题:java单例模式

        本文链接:https://www.haomeiwen.com/subject/lzjsgftx.html