美文网首页
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