- 运行时栈帧结构
- 栈帧(Stack Frame):是用于支持虚拟机进行方法调用和方法执行的数据结构,他是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。
栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应着一个栈帧从虚拟机栈里面从
入栈到出栈的过程。 - 方法调用:不同于方法执行,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。
- 解析:Java虚拟机提供了5条方法调用字节码指令:1.invokestatic 2.invokespecial 3.invokevirtual 4.invokeinterface 5.invokedynamic
- 分派(Dispatch):静态分派、动态分派
- 基于栈的字节码解释执行引擎