美文网首页
JVM运行时数据区域

JVM运行时数据区域

作者: Jarvist | 来源:发表于2019-08-11 00:01 被阅读0次

一、执行Java程序时,内存划分:

1、程序计数器(Program Counter Register);
2、虚拟机栈(VM Stack);
3、本地方法栈(Native Method Stack);
4、方法区(Method Area);
5、堆(Heap);

1、程序计数器

当前线程执行字节码的行号的指示器;
每条线程都有独立的程序计数器;
Java方法记录执行的JVM字节码指令地址;
Native方法为空。

2、虚拟机栈

线程私有;
每个方法执行时产生一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息,执行开始到结束对应入栈到出栈的过程。

3、本地方法栈

与虚拟机栈类似,执行的是Native方法;

4、Java堆

所有线程共享;
GC管理的主要区域;
存放对象实例。

5、方法区

所有线程共享。
存储已加载的类信息、常量、静态变量、JIT后的代码;

运行时常量池

方法区的一部分,编译生成的字面量和符号引用存放在常量池。

直接内存

非JVM运行时的数据区部分。

相关文章

网友评论

      本文标题:JVM运行时数据区域

      本文链接:https://www.haomeiwen.com/subject/eradjctx.html