Happen before 法则是在JDK哪个版本加入,为什么jdk1.5后支持双重检查锁?

Much 发布于 2016/02/29 16:40
阅读 237
收藏 0

Happen before 法则是在JDK哪个版本加入,为什么jdk1.5后支持双重检查锁?jdk1.5提供了哪些特性来支持双重检查锁?

加载中
0
Much
Much

JDK1.5 采用新的内存模型JSR133,JSR133定义happen before原则。

0
xpbob
xpbob
好像是1.5以后加入的,在多线程写单例的有这么一种用法,当时书上说这个用法晦涩,而且在某些jdk上运行不正确,不推荐使用
Much
Much
回复 @xpbob : 不太清楚了
xpbob
xpbob
回复 @Much : 哈哈,果然还是单例,我当时看到这个就是在单例里的讲解,其他场景呢
Much
Much
回复 @xpbob : DCL具体在解决Java中单例模式懒加载问题,但在JDK1.4及以下 因为JMM指令重排序 会使DCL失效。DCL是单例模式在不断演化、优化时的一种实现方式,JDK1.5已可以通过volatile实现DCL。但对于单例模式懒加载实现,更好及推荐的方式是内部类。
xpbob
xpbob
@Much 能说下这个有什么具体应用场景吗,很多人都不推荐使用,看来也是一个冷门场景
Much
Much
恩 jdk1.5前不支持双重检查锁
返回顶部
顶部