2021
02-01
02-01
Java为何需要平衡方法调用与内联
在Java中,方法调用一般通过VirtualCall还有ClassicCall。ClassicCall就是直接指向方法的地址,需要一次寻址到方法的地址,比直接执行代码慢。VirtualCall需要通过VMT(VirtualMethodTable)。这个VMT存储的是该class对象中所有的VirtualMethod,程序运行的时候首先加载实例对象,然后通过实例对象找到VMT,通过VMT再找到对应的方法地址,再执行代码。所以比ClassicCall更慢。Java中除了static方法,private方...
继续阅读 >