操作数栈

操作数栈:用来存放方法运行期间,各个指令操作的数据。

  1. 操作数栈中元素的数据类型必须和字节码指令的顺序严格匹配
  2. 虚拟机在实现栈帧的时候可能会做一些优化,让两个栈帧出现部分重叠区域,以存放公用的数据
  1. 动态链接:每个栈帧有一个指向运行时常量池中该栈帧所属方法的引用,以支持方法调用过程的动态链接
  1. 静态解析:类加载的时候,符号引用就转化成直接引用
  2. 动态链接:运行期间转换为直接引用

方法返回地址:方法执行后返回的地址

方法调用:方法调用就是确定具体调用哪一个方法,并不涉及方法内部的执行过程

  1. 部分方法是直接在类加载的解析阶段,就确定了直接引用关系
  2. 但是对于实例方法,也称实例方法,也称虚方法,因为重载和多态,需要运行期动态委派
---- The end of this article ----