invokevirtual
先抄一段,见《深入理解java虚拟机 JVM高级特性与最佳实践》p254由于 invokevirtual 指令执行的第一步就是在运行期确定接收者的实际类型,所以两次调用中的invokevirtual 指令把常量池中的类方法符号引用解析到了不同的直接引用上,这个过程就是Java 语言中方法重写的本质。把这种在运行期根据实际类型确定方法执行版本的分派称为动态分派。
·
先抄一段,见《深入理解java虚拟机 JVM高级特性与最佳实践》p254
由于
invokevirtual指令执行的第一步就是在运行期确定接收者的实际类型,所以两次调用中的invokevirtual指令把常量池中的类方法符号引用解析到了不同的直接引用上,这个过程就是Java 语言中方法重写的本质。把这种在运行期根据实际类型确定方法执行版本的分派称为动态分派。
Java 语言的动态分派属于单分派类型;静态分派属于多分派类型
更多推荐

所有评论(0)