请教关于"双重检查成例"的问题

doowee 2005-04-28 07:54:59
在研读JIVE代码时注意到在ForumFactory.java中
使用了双重检查成例,如下:
public abstract class ForumFactory {
private static Object initLock = new Object();
private static ForumFactory factory = null;

public static ForumFactory getInstance(Authorization authorization) {
...
if (factory == null) {
synchronized(initLock) {
if (factory == null) {factory =...}
}
}
}
}
但是在《JAVA与模式》中阎老师说:"双重检查成例"在JAVA中不能实现,
原因是factory 赋值与类初始化顺序不确定.
是不是类是abstract的就可以使用双重检查成例。谢谢!
...全文
78 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧