Java运行时数据区笔记

Java程序执行过程

Java源文件 -> 解析器 -> Class文件 -> Java类加载器 -> Java运行时数据区 -> 执行引擎


Java程序执行过程

JVM运行时数据区

运行时数据区

指令区:

  • 程序计数器:指向当前线程正在执行的字节码指令的地址(行号)

  • 虚拟机栈(VM Stack): 虚拟机栈中存储当前线程运行方法所需要的数据、指令和返回地址,Java虚拟机栈中存放的是一个个栈帧,栈帧中包含方法的:局部变量表、操作数栈、动态链接、方法出口。

  • 本地方法栈: 本地方法栈与虚拟机栈的作用相似,不同的是本地方法栈为Native方法服务。

数据区:

  • 方法区:类信息、常量静态变量、JIT

  • 堆区(Heap):Java虚拟机所管理的内存中最大的一块,Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象对象实例

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容