《深入理解java虚拟机》---第12章 java内存模型与线程

Posted anpeiyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《深入理解java虚拟机》---第12章 java内存模型与线程相关的知识,希望对你有一定的参考价值。

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内存模型与线程的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机 - 读书笔记

深入理解Java虚拟机 - 读书笔记

深入理解Java虚拟机的目录

《深入理解Java虚拟机》-----第7章 虚拟机类加载机制——Java高级开发必须懂的

《深入理解java虚拟机》第3版笔记12

跟着腾讯T4学架构:微服务+MySQL+Nginx+Redis+容器化+虚拟机