对于 T t = new T(); 其实有如下字节码指令完成
T t = new T();
_new 'org/openjdk/jol/T' dup INVOKESPECIAL org/openjdk/jol/T.<init> ()V astore 1 return
线程一 new 到一半时,m=0,发生重排序 这时线程 2 来了!看到 t 已经指向了一个半初始化的实例了!
这个概率很小,但是并发如淘宝,都是可能发生的!所以必须要加!
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!