当前位置:首页 > 分类 > JAVA虚拟机 > jvm stack frame(栈帧)

jvm stack frame(栈帧)

栈帧作为java虚拟机栈的存储单元,用于存储线程中每个方法的局部变量表,操作数栈,动态连接,方法返回地址等,一个方法对应一个栈帧,这些信息均从编译后的字节码文件中获取,且所需内存大小确定。

局部变量表:存放方法参数和方法内的局部变量,包括基本数据类型和引用类型的引用地址。

操作数栈:又叫操作栈,主要用于方法内的运算操作和方法间的参数传递。

动态连接:指向该栈帧对应的存储在常量池中的方法。

方法返回地址:记录调用该方法的方法。正常退出时根据返回指令返回;发生异常且没有异常处理时为异常退出,没有返回值。