【每日阅读】2020年6月28日-一个小的技术细节

链接

https://mp.weixin.qq.com/s/nrlvUDpUoVyLBg318EMkJQ

文章截图

简评

核心知识点:对volatile变量的操作会有准内存、本地内存同步的“性能损耗”,所以搞了个临时变量来访问volatile变量。之所以我打了引号,是因为我觉得这么点损耗,对于99.999%的业务场景来说,都不应该说是损耗…肯定是微乎其微的。这个知识点记着就好,面试或许有用。

这里额外说一下,单例的变量用volatile修饰,是为了防止指令重排序,因为new不是原子操作,如果new的某些步骤指令重排了,其他线程可能判断instance已经不是null了,但是却还是未被正确初始化后的对象。

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/1986

发表评论

电子邮件地址不会被公开。 必填项已用*标注

GitLab GitHub
分享本页
返回顶部