相关疑难解决方法(0)

为什么javac不优化甚至简单的代码?

给出以下代码:

public class MainClass {
    public static int f(){
        int i=0;
        i++;
        return i;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器javac生成以下代码:

Compiled from "MainClass.java"
public class latte_jvm.MainClass {

  public static int f();
    Code:
       0: iconst_0
       1: istore_0
       2: iinc          0, 1
       5: iload_0
       6: ireturn
}
Run Code Online (Sandbox Code Playgroud)

函数f确实很简单 - 它只返回1.它是如此直接翻译,以至于我很难相信java编译器会进行任何优化.为什么java编译器创建者决定不在编译阶段进行这样的优化?

java optimization javac

8
推荐指数
2
解决办法
758
查看次数

标签 统计

java ×1

javac ×1

optimization ×1