网上查阅资料发现用双重检查锁实现单例模式,会出现由于Java内存模型导致偶尔创建失败的问题。那么问题1:这个失败的情况和JDK版本有关系么,在新版本的jdk下是否还会出现这个问题?问题2:实际项目中,最常用的是使用哪种方式实现单例模式的呢?
1 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
这个失败的情况和JDK版本有关系么,在新版本的jdk下是否还会出现这个问题?
jdk 5就增强了volidate语义,你现在用的jdk版本基本没问题
实际项目中,最常用的是使用哪种方式实现单例模式的呢?
public enum Singleton {
INSTANCE;
public Connection getConnection() {
return null;
}
public static void main(String[] args) throws SQLException {
Singleton.INSTANCE.getConnection().createStatement();
}
}添加回答
举报
0/150
提交
取消
