Java中的惰性线程安全单例实例化模式

Java中的惰性线程安全单例实例化模式,第1张

Java中的惰性线程安全单例实例化模式

惰性线程安全的单例实例对于每个编码器来说都不容易理解

不,实际上非常非常简单:

public class Singleton{    private final static Singleton instance = new Singleton();    private Singleton(){ ... }    public static Singleton getInstance(){ return instance; }}

更好的是,使其成为枚举:

public enum Singleton{    INSTANCE;    private Singleton(){ ... }}

它是线程安全的,并且是惰性的(初始化发生在类加载时,并且Java不会加载类,直到它们被首次引用)。

事实是,您有99%的时间 根本不需要延迟加载 。在剩余的1%中,在0.9%中,上述内容完全是懒惰的。

您是否已经运行了探查器,并确定您的应用程序确实达到了真正需要首先进行延迟加载的0.01%?不这么认为。那么,您为什么要浪费时间炮制这些Rube
Goldbergesque令人讨厌的代码来解决一个不存在的问题?



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5479003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存