Java运行时数据区笔记

Java程序执行过程

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


Java程序执行过程

JVM运行时数据区

运行时数据区

指令区:

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

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

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

数据区:

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

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

你可能感兴趣的:(Java运行时数据区笔记)