jvm栈

jvm栈

2020-08-29
java
  • jvm栈是线程私有的
  • 每个方法被执行的时候,java都会同步创建一个栈帧,用来存放局部变量表、操作数栈、动态连接、方法出口等信息
  • 每一个方法被调用直至完毕的过程,就是一个栈帧在虚拟机中从入栈到出栈的过程
  • 局部变量表存放了编译期间可知的各种java基本数据类型、对象引用和returnAddress(指向了一条字节码指令的地址)
    • 这些数据类型在局部变量表中存储空间以局部变量槽(slot)表示,64位的long和double会占用两个槽,其余的数据类型只占用一个。
    • 局部变量表所需的内存空间在编译期间完成分配。