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

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

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

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/java/20200925/10922.html
上一篇
下一篇

作者: dawei

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

为您推荐

返回顶部