内存模型
---内存、线程有关
JMM内存模型是JVM在计算机内存中如何工作的行为规范;它屏蔽了各种硬件和操作系统的访问差异。保证了java程序在各种平台下对内存的访问都能够得到一致性的效果的。
通过这套规范,用于保证多线程对共享数据操作的原子性、可见性、有序性;
具体规范:
所有的变量都存储在主内存(物理实现—内存)中,每个线程都可以访问;
每条线程都有自己私有的工作内存;
线程的工作内存中保存了该线程中用到的主内存变量的副本拷贝;
线程对变量的所有操作都必须在工作内存中进行,而不能直接操作主内存;
不同线程之间也无法直接访问对方工作内存中的变量;