1、运行时虚拟机栈的结构
局部变量表,操作数栈,动态链接,返回地址
2、解析:
解析是在类加载的时候,class文件里存放的方法的符号引用,解析就是将符号引用转化为直接引用的过程。编译时就能确定,并且能将符号引用转化为直接引用的,叫静态解析。运行时才能够加载到方法区的方法,这时候才会有方法入口,在运行时将符号引用转换为直接引用,叫做动态解析
3、动态链接指的就是将符号引用解析为直接引用地址
静态分派(例如方法重载):
invokestatic指令:
静态方法
invokespecial指令:
私有方法、构造方法、父类方法
这些都是在加载阶段能够确定好的方法以及版本。
静态就是编译时确定或选择
动态分派(例如方法重写):
动态就是在运行时的确定。
因为在编译阶段,不知道调用哪个方法,所以在运行时才能确定。