【JMM】
JMM 是一组规则。是围绕 原子性,有序性、可见性展开。
线程之间如何通讯和如何同步是并发编程的两个关键问题。
1.java的并发通讯采用的是共享内存模型进行线程之间的隐式通讯。 java内存模型(JMM)
2.执行程序由于系统优化,会将源码进行几次重排序从而提高执行效率:
源码 -> 编译器优化 -> 指令级重排序 -> 内存系统重排序 -> 最终执行的代码序列
这些会导致对内存的可见性的问题,JMM则会禁止掉一些危险的重排操作,他会在编译器生成指令时,插入内存屏障来禁止重排