JIT编译器是否逐个语句或逐个方法或整个程序编译代码?

时间:2014-06-17 19:32:13

标签: jit

我已经阅读了一些关于JIT编译器所做的文章和帖子。有人说JIT编译器在运行之前编译整个程序,有些人说JIT编译"片段" - 没有定义什么是"片段"是的,有人说它按方法编译。有人说它在执行之前编译每个语句。但是在执行它之前肯定编译整个程序与正常编译没什么不同?

哪个版本正确?

1 个答案:

答案 0 :(得分:1)

从IDE编译程序时,会得到一个由中间语言(IL)代码组成的EXE。 JITter是特定于平台的,它将这个可移植的IL转换为本机代码(本地机器语言)。

在Java中,JIT编译器在方法入口处运行。资源: http://docs.oracle.com/cd/E15289_01/doc.40/e15058/underst_jit.htm

.NET也是每个方法的JIT。资源: http://msdn.microsoft.com/en-us/library/ht8ecch6(v=vs.71).aspx