如果一个方法没有被重写并且很短,编译器就能对他进行优化处理,这个过程被称为内联。(inlining).
如:内联调用e.getName(),将被替换为访问e.name属性。这是有意义的的改进:缘于CUP在处理调用方法的指令时,使用的分支转义会扰乱预取指令的策略。然而,如果getName被子类覆盖,那么编译器就无法知道覆盖的代码要做何操作,就取消内联处理。(当子类被虚拟机加载时).
本文探讨了在编程中方法内联的优化技术。当一个方法较短且未被重写时,编译器可以将其直接替换为相应的代码实现,从而提高执行效率。然而,如果该方法在子类中被覆盖,则这种优化将不再适用。
如果一个方法没有被重写并且很短,编译器就能对他进行优化处理,这个过程被称为内联。(inlining).
如:内联调用e.getName(),将被替换为访问e.name属性。这是有意义的的改进:缘于CUP在处理调用方法的指令时,使用的分支转义会扰乱预取指令的策略。然而,如果getName被子类覆盖,那么编译器就无法知道覆盖的代码要做何操作,就取消内联处理。(当子类被虚拟机加载时).
1415
9043
465

被折叠的 条评论
为什么被折叠?
&spm=1001.2101.3001.5002&articleId=3990625&d=1&t=3&u=866d4182646f4c249cf5fe6565ab5093)