Skip to content

面试要点:volatile的简短补充

volatile几乎是优秀团队必问的知识点,所以我这里给一个答题补充。

解释一下volatile?

最常见的回答,是这样的:

求职者回答

volatile有三个作用:

  1. volatile变量读写时会增加内存屏障
  2. volatile变量读写时会禁用局部指令重排
  3. 保证对volatile的操作happens-before另一个操作

读屏障,就是在读取volatile变量之前增加一条将变量内容从内存读入CPU缓存的指令;写屏障就是在volatile变量写入之后,将变量的值从CPU缓存写入内存。

指令重排是一种CPU策略,通过交换指令执行的顺序获得最佳性能。

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我