Skip to content

Java 基础笔记

volatile 是什么?

volatile 是 Java 中的一种轻量同步机制,保证了可见性和有序性

  • 可见性:被 volatile 修饰的对象,JVM会保证其可见性,在其被修改的时候,JVM会立即将他刷新到主存,并且通知其他的核心放弃缓存
  • 有序性:被 volatile 修饰的对象,JVM 会通过插入内存屏障的方式阻止重排序,可以消除类似于双重类型检查的场景下重排序带来的问题。

但是其不能保证操作的原子性,例如对一个被 volatile 修饰的 int 类型的对象进行 ++ 操作,其仍然不是原子操作,要保证线程安全还是使用 synchronized 等

Contact me: 1943284256@qq.com