1.坦率地说,java同时具有编译器和解释器的想法是一个神话,它的行为被标记为编译器和解释器。
2. Java 编译器将人类可读的代码编译成字节码。然后在运行时由JIT(即时编译器)将其转换为机器级可执行代码。
3.在运行时 JIT 识别代码的运行时密集部分,然后将其转换为机器级可执行代码,这部分代码被称为Hot-Spot
,这就是为什么JIT 被称为 Hot-Spot 编译器。
4. JIT uses the Virtual Memory Table ( V-table), which is a pointer to the method in the class. The Hot-Spot code is then converted to its machine level executable code, its address is stored here, and when this part is called again, then its directly fetched by this stored address. This behavior of JIT to keep compiling small amount of code during Run time is assumed to be
Interpreted Behavior, And the JIT behaviour of storing this for later use is assumed as
Compilation.
5. Virtual Memory Table also has a table which stores the address of the byte code, which can be used if needed.