我需要在并发环境中延迟加载资源。加载资源的代码应该只执行一次。
Both 双重检查锁定(使用 JRE 5+ 和 volatile 关键字)和按需初始化持有者习惯用法似乎很适合这份工作。
仅通过查看代码,按需初始化持有者习惯用法似乎更干净、更高效(但是,嘿,我在这里猜测)。尽管如此,我还是必须小心并记录我的每一个单身人士的模式。至少对我来说,很难理解为什么当场编写这样的代码......
我的问题是:哪种方法更好?为什么?
如果你的答案是否定的。您将如何在 Java SE 环境中满足此要求?
备择方案
我可以使用 CDI 来实现此目的,而不在整个项目中强制使用它吗?那里有文章吗?
添加另一个也许更干净的选项。我建议枚举变体:
在 Java 中使用 Enum 作为单例的最佳方法是什么?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)