volatile作为java并发编程中“出现频率最高”的关键字,主要作用有两点:1.保持内存可见性,2.防止指令重排序 保持内存可见性:所有线程都能看到共享内存的最新状态。 每次读取前必须从主内存刷新最新数据 每次写入后必须立即同步到主内存防止指令重排序 volatile关键字通过“内存屏障”来防止指令被重排序。