Почему javac не оптимизирует даже простой код?

Учитывая следующий код:

public class MainClass {
    public static int f(){
        int i=0;
        i++;
        return i;
    }
}

компилятор 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
}

Функция f делает действительно простую вещь - она просто возвращает 1.Это так прямо переведено, что мне трудно поверить, что java-компилятор вообще делает какие-либо оптимизации. Почему создатели java-компиляторов решили не проводить такую оптимизацию на этапе компиляции?

Ответы на вопрос(2)

Ваш ответ на вопрос