请谈谈你对volatile的理解 1)volatile是JVM提供的轻量级的同步机制 三大特性: 保证可见性 不保证原子性禁止指令重排序 2)你谈谈JMM 1.可见性 2.原子性 3.有序性 总结:线程安全性获得保证 3)你在哪些地方用到过volatile 单例模式double check locking代码