《深入拆解Java虚拟机》-JVM是如何执行方法调用的?(下)

Posted by 瞿广 on Wednesday, December 26, 2018

TOC

《极客时间-深入拆解java虚拟机》笔记

1.虚方法调用

Java里所有非私有实例方法调用都会被编译成invokevirtual指令,接口方法调用都会编译成invokeinterface指令。这两种指令,均属于Java虚拟机中的虚方法调用

在绝大多数情况下,Java虚拟机需要根据调用者的动态类型,来确定方法调用的目标方法。这个过程我们称为动态绑定。那么,相对于静态绑定的非虚方法调用来说,虚方法调用更加耗时。

2.方法表

3.内联缓存

4.总结实战