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的初始化通过静态初始化器进行.

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

作者: dawei

【声明】:滨州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部