• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

JVM运行时数据区域

技术杂谈 勤劳的小蚂蚁 3个月前 (01-17) 79次浏览 已收录 0个评论 扫描二维码

以下是阅读JVM规范的注释


一、每个线程的数据区域(不共享)


每个线程的数据区域包括程序计数器寄存器、JVM堆栈和本机方法堆栈。

它们都是在创建新线程时创建的。

程序计数器寄存器用于控制每个线程的每次执行。

JVM堆栈包含如下图所示的框架。

本机方法堆栈用于支持本机方法,即非java语言方法。

二、所有线程共享的数据区域


所有线程共享堆和方法区域。

堆是我们最常处理的区域。

它存储JVM启动时创建的数组和对象。

垃圾收集在这个领域起作用。

方法区域存储运行时常量池、字段和方法数据,以及方法和构造函数代码。

运行时常量池是类文件中constant_pool表的每个类或每个接口的运行时表示。

它包含几种常量,从编译时已知的数值常量到必须在运行时解析的方法和字段引用。


堆栈包含帧,当调用方法时,帧被推送到堆栈中。

帧包含局部变量数组、操作数堆栈、对常量池的引用。



丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:JVM运行时数据区域
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00