为什么在执行时而不是在安装时编译字节码JIT?

Xeo*_*Xeo 7 jit bytecode compilation distribution

将程序编译为字节码而不是本机代码可以实现一定程度的可移植性,因此存在适合的虚拟机.

但我有点疑惑,为什么要推迟编译?为什么不在安装应用程序时简单地编译字节代码?

如果这样做,为什么不将它采用直接编译为本机代码的语言?将它们编译为中间格式,使用安装程序分发"JIT"编译器并在目标机器上编译它.

我唯一能想到的是运行时优化.这是安装时唯一无法完成的重大事情.思考?

Dar*_*con 1

通常它是预编译的。例如,考虑使用NGEN预编译 .NET 代码。

不预编译所有内容的原因之一是可扩展性。考虑那些允许使用反射在运行时加载附加代码的语言。