即时编译器和JAVA解释器的区别?

这两者到底是怎么回事阿?为什么前者比后者执行得快呢??

Java的编译方式有两种,一种是和C++等语言一样的,把源代码编译成和本地机器平台相关的机器语言,叫即时编译。另一种是编译成一种中间的字节码,与机器平台无关的,这种也是常用的,叫解释型的。

即时编译器因为产生的是本地机器的机器码,能直接执行;不像字节码还要在JVM(Java虚拟机)上解释运行,所以执行得更快些。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-01-28
即时编译器预先把程序编译完成,当执行时就直接调用。
而JAVA解释器则是当需要调用该代码时才临时编译解释,而且没执行一次就要编译一次,而即时编译器则是一次编译多次执行。
第2个回答  2009-01-31
即时编译器预先把程序编译完成,当执行时就直接调用。

而JAVA解释器则是当需要调用该代码时才临时编译解释,而且没执行一次就要编译一次。

所以即时编译器好一些。