编程语言
首页 > 编程语言> > java – 延迟加载的单例:双重检查锁定与按需持有者惯用语初始化

java – 延迟加载的单例:双重检查锁定与按需持有者惯用语初始化

作者:互联网

我需要在并发环境中延迟加载资源.加载资源的代码只能执行一次.

Double-checked locking(使用JRE 5和volatile关键字)和Initialization on demand holder idiom似乎都很适合这项工作.

仅仅通过查看代码,按需初始化持有者习惯看起来更干净,更有效(但是嘿,我猜这里).不过,我必须小心并记录我的每一个单身人士的模式.至少在我看来,很难理解为什么代码会在现场写出来……

我的问题是:哪种方法更好?为什么?
如果你的答案是否定的.您将如何在Java SE环境中解决此要求?

备择方案

我可以使用CDI而不强制它在整个项目中使用吗?那里有文章吗?

解决方法:

添加另一个,也许是更清洁的选项.我建议枚举变化:

What is the best approach for using an Enum as a singleton in Java?

标签:java,concurrency,design-patterns,singleton,lazy-loading
来源: https://codeday.me/bug/20191004/1852352.html