与非JIT编译器相比,JIT编译器具体做什么?有人可以给出一个简洁易懂的描述吗?
我多次听说Java实现了JIT(即时)编译,它的跨平台可移植的字节码得到了JVM的"解释".但是,我真的不知道字节码是什么,以及JVM在Java语言架构中的实际意义; 我想更多地了解他们.
我遇到了一些关于JVM/JIT活动的参考文献,其中在编译字节码和解释字节码之间似乎有所区别.特定注释声明字节码被解释为前10000次运行并在此后编译.
"编译"和"解释"字节码有什么区别?
我正在读关于instruction set在维基和我碰到这一段就来了:
一些支持字节码作为其ISA的虚拟机,如Smalltalk,Java虚拟机和Microsoft的公共语言运行时,通过将常用代码路径的字节码转换为本机机器代码来实现这一点.此外,这些虚拟机通过解释执行不常用的代码路径(请参阅:即时编译).Transmeta以这种方式在VLIW处理器上实现了x86指令集.
这到底是什么意思?是bytecodesARE ISA的JVM和JVM在转支持ISA的处理器.