Java 方法调用优化

Java method call optimization

如果您在 Java 中,例如:

void methodA(int i) { ... }

void wrapperMethodArg1() {  methodA(1); }

wrapperMethodArg1();

当你调用第二个方法时,JVM最终会调用两个还是一个方法?

你说的是方法 wrapperMethodArg1 的内联。

答案是:无法预知。编译器可能不会内联它,因为这会阻止反射调用,但如果该方法被调用的频率足以优化,JVM 可能会在运行时动态地执行它。