《白话》--- jvm方法内联

参考:
https://time.geekbang.org/column/article/14575

什么是方法内联?

在编译的时候,遇到方法调用,那么直接把方法体搬过来,取代原有的调用的优化手段。

可以带来什么好处?

1.可以消除本身调用的性能开销。就是说,本身遇到方法调用的时候,程序需要保存当前的执行位置,然后先压入一个被调用方法的栈帧,继而访问字段,再弹出栈帧,最后恢复当前程序执行位置。但是内联之后,上述流程只剩下字段访问了,省去很多开销。
2.触发一些其他优化手段。

内联发生在什么时候?

不论是老的C2 还是新的Graal,都是在解析字节码的过程中进行方法调用的内联。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容