java虚拟机栈结构

java虚拟机栈结构作为基于栈结构的计算机,Java栈是JVM存储信息的主要方法

当JVM得到一个Java字节码应用程序后,便为该代码中一个类的每一个方法创建一个栈框架,以保存该方法的状态信息

每个栈框架包括以下三类信息:局部变量,执行环境,操作数栈

局部变量用于存储一个类的方法中所用到的局部变量

vars寄存器指向该变量表中的第一个局部变量

执行环境用于保存解释器对Java字节码进行解释过程中所需的信息

它们是:上次调用的方法、局部变量指针和操作数栈的栈顶和栈底指针

执行环境是一个执行一个方法的控制中心

例如:如果解释器要执行iadd(整数加法),首先要从frame寄存器中找到当前执行环境,而后便从执行环境中找到操作数栈,从栈顶弹出两个整数进行加法运算,最后将结果压入栈顶

操作数栈用于存储运算所需操作数及运算的结果

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关