Java内存模型

本节大纲:

1、线程与JVM

2、java内存区域与java内存模型的区别

3、硬件内存架构与java内存模型

4、java内存模型对并发特征的保证

 

1.基本概念:

程序:代码,完成某一件任务,代码序列(静态的概念)

进程:程序在某些数据上的一次运行(动态的概念)

线程:一个进程可能包含一个或多个线程(占有资源的独立单元)

2 JVM与线程

JVM什么时候启动?类被调用    JVM线程---》其他的线程(main)

3.JVM内存区域

虚拟机栈:

4.java内存模型

  1. 主内存:共享的信息
  2. 工作内存:私有信息,基本数据类型,直接分配到工作内存,引用的地址存放在工作内存,引用的对象存放在堆中
  3. 工作方式:

         A  线程修改私有数据,直接在工作空间修改

         B  线程修改共享数据,把数据复制到工作空间中去,在工作空间中修改,修改完成以后,刷新内存中的数据

5.硬件内存架构与java内存模型

cpu:中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元

寄存器:寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令数据地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。

  1. CPU缓存的一致性问题:并发处理的不同步
    1. 解决方案:
      1. 总线加锁()  降低CPU的吞吐量
      2. 缓存上的一致性协议(MESI)

当CPU在CACHE中操作数据时,如果该数据是共享变量,数据在CACHE读到寄存器中,进行新修改,并更新内存数据

CaCHE  LINE置无效,其他的CPU就从内存中读数据

2.Java线程与硬件处理器

3.java内存模型与硬件内存架构的关系

相关java内存模型可以看我别的博客总结:https://blog.youkuaiyun.com/oldshaui/article/details/89342858

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值