1. 程式人生 > >java虛擬機器(一)

java虛擬機器(一)

1、java如何不關注底層技術細節實現相容性?

使用中間語言 ,通過中間語言實現跨平臺相容的目標。

2、中間語言不是本地機器指令,機器cpu無法直接識別,因此中間語言不能直接在物理cpu上直接執行,怎麼解決?

用虛擬機器來解釋中間語言,將中間語言翻譯成對應的本地機器指令。

3、將中間語言翻譯成本地機器碼的方法?

第一、用C/C++語言為每一個java位元組碼寫一個對應的實現函式。
第二、將java位元組碼指令翻譯成本地機器指令,執行期直接由java虛擬機器呼叫對應的機器指令來執行。這種呼叫機制主要依賴cpu所提供的call和jmp指令。