JVM Stacks
线程私有
作用:描述Java方法的执行模型,每一个方法执行时都会创建一个Stack Frame(栈帧)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。
每一个方法从调用到执行完毕的过程,就对应一个Stack Frame在JVM中入栈到出栈的过程。
局部变量表:存储编译期可知的各种基本数据类型、对象引用。
其中,64 位的long和double类型会占用2个局部变量空间,其余数据类型只占用一个。
Native Method Stack
本地方法栈与虚拟机栈发挥的作用非常相似,区别在于JVM Stacks为虚拟机执行Java方法(字节码)服务,而Native Method Stack则为虚拟机使用到的Native方法服务。