JIT 编译器和执行

Ton*_*ony 3 java compiler-construction jit

我对 JIT 编译器感到困惑,

  1. 什么是 JIT 编译器?
  2. JIT 编译器在每次执行之前或每次 JVM 加载时编译字节码?

Jes*_*per 5

JIT 代表“及时”。它是一个编译器,可在您的程序运行时将 Java 字节码转换为本地机器代码。

Sun 的 JIT 不会在您每次运行 Java 程序时预先编译所有字节码。它包含一些非常复杂的逻辑来决定何时编译部分字节码,它使用的标准之一是代码执行的频率。

有关更多详细信息,请参阅实时编译HotSpot(维基百科)。