Java方法内联

强调一下:本文中关于方法内联的内容大部分摘抄于郑雨迪的《深入拆解Java虚拟机》

在看Java虚拟机JIT优化部分的书籍和博客时我们经常看到一个技术名词:方法内联。到底什么是方法内联呢?它指的是:在编译过程中遇到方法调用时,将目标方法体纳入编译范围之中,并取代原方法调用的编译手段。
方法内联不仅可以消除调用本身带来的性能开销,还可以进一步触发更多的优化。因此方法内联是编译优化中重要的一环。
以getter/setter为例,如果没有方法内联,在调用getter/setter时,程序需要包存档点方法的执行位置,创建并压入当前方法的栈帧、访问字段、弹出栈桢,最后再恢复当前方法的执行。而当内联了对getter/setter的方法调用后,上述操作仅剩字段访问。

你可能感兴趣的:(Java方法内联)