Java 方法执行时的动态分派和静态分派是 Java 实现多态的本质Java 的动态分派和静态分派也是 Java 方法的执行原理。Java 源代码的编译之后,方法之间的调用是使用符号引用来表示的。当字节码被 JVM 加载之后,符号引用才会被替换为对应方法在方法区的真实内存地址。与 C,C++ 一样,JVM 在运行时也会维护一个运行栈,用于方法的调用和返回。容量的最小单位是 variable slot(变量槽)。JVM 的字节码指令执行机制是基于栈的,所以需要一个栈来存储字节码指令的操作数。Android 的 VM 是基于寄存器的,所以没有操作栈区域。返回地址一般就是当前方法的调用者的程序计数器的值。
暂无评论