加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 编程开发 > Java > 正文

java – 关于静态保持单体模式

发布时间:2020-09-26 00:30:04 所属栏目:Java 来源:互联网
导读:根据像挥发/懒惰单身人士,急切的单身人士,正常的单身人士以及通过Enum的情况,我已经开发了单身人士,但具体来说,我想知道如下所示的静态持有人模式单身人士. public static class Singleton { private static class InstanceHolder { public static Singleton

根据像挥发/懒惰单身人士,急切的单身人士,正常的单身人士以及通过Enum的情况,我已经开发了单身人士,但具体来说,我想知道如下所示的静态持有人模式单身人士.

public static class Singleton {
    private static class InstanceHolder {
        public static Singleton instance = new Singleton();
    }

    private Singleton(){}

    public static Singleton getInstance() { 
        return InstanceHolder.instance;
    }
}

请指出哪些条件是有益的,它的好处是什么.

解决方法

这种模式至少有三个原因:

>静电厂
>懒惰初始化
线程安全

JVM会延迟初始化InstanceHolder类,直到实际使用,并且由于使用静态初始化程序初始化了Singleton,因此不需要额外的同步.通过任何线程对getInstance的第一次调用会导致InstanceHolder被加载和初始化,此时Singleton的初始化通过静态初始化器进行.

静态支架图案也被认为是双重锁定反模式的最佳替代.

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读