千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

首页 视频教程 培训课程 师资团队 技术干货 常见问题 面试题 职场就业 零基础学Java 行业资讯
【热点话题】 Java技术干货 Java学习教程 Java学习笔记 Java面试题 Java培训问答 Java培训机构哪些好 Java职场就业
当前位置:Java培训  >  java学习笔记  >  什么是JVM运行时数据区

什么是JVM运行时数据区

来源:千锋教育
发布人:syq
时间: 2022-10-10 13:48:00 1665380880

  运行时数据区包括堆、方法区、栈、本地方法栈、程序计数器。

  1. 堆

  堆解决的是对象实例存储的问题,垃圾回收器管理的主要区域。

  2. 方法区

  方法区可以认为是堆的一部分,用于存储已被虚拟机加载的信息,常量、静态变量、即时编译器编译后的代码。

  3. 栈

  栈解决的是程序运行的问题,栈里面存的是栈帧,栈帧里面存的是局部变量表、操作数栈、动态链接、方法出口等信息。

  3.1 栈帧 每个方法从调用到执行的过程就是一个栈帧在虚拟机栈中入栈到出栈的过程。

  3.2 局部变量表 用于保存函数的参数和局部变量。

  3.3 操作数栈 操作数栈又称操作栈,大多数指令都是从这里弹出数据,执行运算,然后把结果压回操作数栈。

  4. 本地方法栈

  与栈功能相同,本地方法栈执行的是本地方法,一个Java调用非Java代码的接口。

  5. 程序计数器(PC寄存器)

  程序计数器中存放的是当前线程所执行的字节码的行数。JVM工作时就是通过改变这个计数器的值来选取下一个需要执行的字节码指令。

什么是JVM运行时数据区

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区

14天品质课程免费学

10年以上业内强师带你蜕变精英

提交领取