1、JVM规范中试图定义一种Java内存模型(JMM,Java Memory Model),作用:屏蔽掉各种硬件和OS的内存访问差异,以实现让Java程序在各种平台上实现内存访问一致的效果;
2、JDK1.5发布后,Java内存模型已经成熟和发展起来了;
3、Java内存模型规定了:
1.1 所有的变量必须存储在主内存中(实际为JVM内存的一部分);
1.2 每条线程有自己的工作内存,该工作内存保存了被该线程使用到的变量的主内存副本拷贝;
线程对变量的操作都必须在工作内存中进行,不能直接对主内存变量读写;
不同线程之间不能直接访问对方工作内存中的变量,线程间变量的值传递需要通过主内存来完成;