【发布时间】:2015-02-05 19:22:17
【问题描述】:
是否以
的形式进行JIT内联方法public void forwardCall(int argument) {
MyStaticClass.forwardCallTarget(argument);
}
?
假设转发类没有派生类或基类(forwardCall 方法是准最终的)。
我在网上看到很多关于内联 getter/setter 的讨论,但关于方法转发的讨论不多。
【问题讨论】:
-
使用
-XX:+PrintInlining看看! -
转发在概念上并没有什么特别之处,那么它为什么值得额外提及呢?我认为您真正想知道的是 JIT 是否可以跨多个调用级别内联? (嵌套内联)
-
是的,从 JITC 的角度来看,这只是代码。几乎所有现代 JITC 都可以内联多个级别,所以这实际上只是统计数据是否使其看起来有利可图的问题。
标签: java