Java DCL 双检锁 到底安全不安全

在 JDK7 和 JDK8 等,多线程环境里,

if(xx == null)
    xx = new Xx();

这样是否安全?
--------------------------

比较典型的例子就是 DCL 双检锁,最近到处找文章看,
往上大批量的都是因为编译器等指令重排,造成:xx = 一个未完整初始化完整的对象。

----------——

这让我有点怀疑码生呀,我写了这么多年的代码,原来全是 BUG 呀。

xx不是被volatile修饰了嘛?

https://blog.csdn.net/Dongguabai/article/details/82828125

看看大佬对双检锁的解释

英语牛逼看这个 http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

都看过了,CSDN 现在很搞笑呀,我怎么才可以评论别人的回复呢?

浪费时间