网上查阅资料发现用双重检查锁实现单例模式,会出现由于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
提交
取消