标签:style span text 内存模型 虚拟 com 竞争 私有 定义
1、概述
1.1、JVM规范 试图 定义一种java内存模型(JMM) 来 屏蔽掉各种硬件和OS的内存访问差异,以 实现 让java程序在各种平台下都达到一致的并发效果;
1.2、JDK1.5后,JMM 已经成熟和完善;
2、主内存 与 工作内存
2.1、JMM 的主要目标: 定义 程序中各个变量的 访问规则;
(在JVM中 将变量 存储到内存 与 从内存中取出变量 的底层细节);
(变量:包含 实例字段、静态字段...不包含 局部变量 [线程私有,不存在竞争关系] );
2.2、JMM 规定 所有的变量 都存储在 主内存中;
(主内存:JVM内存的一部分);
2.3、JMM规定 每条线程 有自己的工作内存;
(工作内存:保存了 被该线程使用到的变量的 主内存的拷贝;
线程 对变量的所有操作 必须在工作内存中进行;
线程 不能直接 读写 主内存中的变量;
不同的线程 之间 不能直接访问 对方工作内存的变量;
不同线程间 变量的值传递 需要 通过主内存完成;
《深入理解java虚拟机》---第12章 java内存模型与线程
标签:style span text 内存模型 虚拟 com 竞争 私有 定义
原文地址:https://www.cnblogs.com/anpeiyong/p/13083979.html