在 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 现在很搞笑呀,我怎么才可以评论别人的回复呢?
浪费时间