跳至主要內容

运行时数据区概述

Mr.Hope...小于 1 分钟

JVM学习: JVM-运行时数据区open in new window

运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。

  • 多线程共享的运行时数据区需要在Java虚拟机启动时创建好,在Jaava虚拟机退出时销毁。
    • 对象实例存储在堆区
    • 类信息数据存储在方法区
    • 从逻辑上来讲,方法区其实也是堆的一部分。
  • 线程私有的运行时数据区则在创建线程时才创建,线程退出时销毁。
    • pc寄存器(Program Counter):执行java方法表示:正在执行的Java虚拟机指令的地址;执行本地方法:pc寄存器无意义
    • Java虚拟机栈(JVM Stack)。
      • 栈帧(Stack Frame),帧中保存方法执行的状态
        • 局部变量表(Local Variable):存放方法参数和方法内定义的局部变量。
        • 操作数栈(Operand Stack)等。