JMM的三大特性

  1. 可见性
  2. 原子性
  3. 有序性

volatile保证了可见性,  但是  原子性 和 有序性 不能保证。

synchronized保证了原子性、可见性和有序性