volatile理解 java虚拟机提供的轻量级的同步机制 保证可见性不保证原子性禁止指令重排 JMM(java内存模型) 一种规范或者规则,定义了程序中的各种变量的访问方式 线程解锁前,必须把共享内存变量的值刷新回到主内存线程加锁前,必须读取主内存的最新值到自己的工作内存加解锁是同一把锁 工作内存+主内存,线程之间通信通过主内存完成 通过volatile 可以保证可见性 哪些地方用到volatile 单例模式