1.保证线程可见性,禁止指令重排序,但是不能保证原子性2.DCL单例模式,对象需要加volatile关键字,禁止指令重排序,防止获取到中间态对象线程可见性:缓存一致性协议 intel CPU MESI禁止执行重排序:内存屏障3.当修饰引用值时,如果引用指向的对象改变了,其他线程是监测不到的。