jvm和jmm(java内存模型)之间的关系

本文探讨了JVM的结构,包括堆、栈和方法区,并详细介绍了Java内存模型(JMM),强调主内存与工作内存的概念。JMM旨在确保跨平台的一致内存访问效果,变量存储于主内存,线程有自己的工作内存,线程间通信需通过主内存。工作内存可能对应虚拟机栈的部分区域,主内存主要对应Java堆的对象实例数据。
摘要由CSDN通过智能技术生成

之前总说内存结构分为什么堆,栈,方法区什么的,一直没太取细究,最近回顾发现了之前没主义的一些东西,言归正传,先来介绍下什么标题所说的一些区别,

首先

JVM体系结构

 

咱们日常所说的堆,栈,方法区就是这个层次的概念,存在于jvm结构体系当中,

再说java内存模型:

Java内存模型

Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台上都能达到一致的内存访问效果。

主内存与工作内存

Java内存模型的主要目标:.,`定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。注意,此处的变量与Java编程语言中所说的变量有所区别,它包括实例字段、静态字段和构成数组对象的元素,但不包括局部变量与方法参数,因为后者是线程私有的,不会被共享,自然就不会存在竞争问题。

为了获取较好的执行效能,Java内存模型并没有限制执行引擎使用处理器的特定寄存器或缓存来和主内存进行交互,也没有限制即时编译器进行调整代码执行顺序这类优化操作。

Java内存模型规定了所有的变量都存储在主内存中,此处的主内存仅仅是虚拟机内存的一部分,而虚拟机内存也仅仅是计算机物理内存的一部分(为虚拟机进程分配的那一部分)。

每条线程还有自己的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值