与非 JIT 编译器相比,JIT 编译器具体做什么?谁能给一个简洁易懂的描述?
JIT 编译器 在 程序启动后运行,并将代码(通常是字节码或某种 VM 指令)即时(或称为即时)编译成通常更快的形式,通常是主机 CPU 的本机指令系统。JIT 可以访问动态运行时信息,而标准编译器则不能,并且可以进行更好的优化,例如经常使用的内联函数。
这与在程序首次运行 之前将* 所有 代码编译为机器语言的传统编译器形成对比。 *
换句话说,传统的编译器在您第一次运行它之前将整个程序构建为一个 EXE 文件。对于较新样式的程序,使用伪代码(p-code)生成程序集。只有在您在操作系统上执行程序之后(例如,通过双击其图标),(JIT)编译器才会启动并生成基于 Intel 的处理器或任何可以理解的机器代码(m-code)。