读深入理解JVM虚拟机--JVM的的数据区域

背景

  • 最近在读深入理解JVM虚拟机,记录一下自己对于jvm的理解

运行时内存数据区域

定义及功能

程序计数器
  • 程序计数器室一块较小的内存空间,可以看作是当前线程所执行的字节码行号指示器.
名称 定义 功能 是否线程私有
程序计数器 一块较小的内存空间,可以看作是当前线程所执行的字节码行号指示器 通过改变计数器的值来选取吓一跳需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能需要以来计数器</font>
java虚拟机栈 虚拟机描述的的是java执行方法的内存模型 每个方法执行的时候会生成一个帧栈,当中存储局部变量``操作数栈,动态链接方法出口等信息什么是帧栈
本地方法栈 与虚拟机栈相同的作用 虚拟机使用到的native方法,hotspot虚拟将本地方法栈和虚拟栈合二为一
java堆 是java虚拟机管理的内存中最大的一块. 唯一的目存放对象的实例,几乎所有的对象实例都在这里分配内存 否,线程共享
方法区 方法区是堆内存的逻辑部分,但是有个别名no-heap,目的是与堆区分开 用于存储已被虚拟机家在的类信息、常量、静态变量、即时编译器编译欧的代码等数据 否,线程共享
运行时常量池 常量池是方法区的一部分 用于存放编译器生成的各种字面量和符号引用 否,线程共享
java堆(Heap)
PSYoungGen
  • eden
  • from
  • to
ParOldGen
  • object
Metaspace
  • class
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容