栈帧:
一个栈中可以有多个栈帧, 栈帧是随着方法的调用而创建, 随着方法的结束而销毁.
栈帧的主要组成部分:
1. 局部变量表: 存储方法参数和局部变量的存储空间.
2....操作数栈: 方法执行过程中, 通过字节码push/pop操作, 进行算术运算或者是调用其他方法等操作....()方法的字节命令,分析下栈的使用情况
public static int add(int, int);
descriptor: (II)I
flags: ACC_PUBLIC, ACC_STATIC...字节命令执行
根据LineNumberTable,可知每行代码分别对应了哪些字节命令;
根据这些字节命令,就能知道一行代码在执行过程中是如何利用栈帧中的不同空间进行运算执行的了;
程序计数器也是根据LineNumberTable...栈
每个方法调用时都会创建1个栈帧
Main()方法在调用add()方法时,栈内结构大致如下:
通过add()方法的执行过程,可以清晰的说明字节命令是如何利用栈执行代码的.