1. 程式人生 > >[零] Java 語言執行原理 JVM原理淺析 入門瞭解簡介 Java語言組成部分 javap命令使用

[零] Java 語言執行原理 JVM原理淺析 入門瞭解簡介 Java語言組成部分 javap命令使用

 The Java Virtual Machine
Java虛擬機器是Java平臺的基石。是java實現硬體和作業系統的獨立性(也就是無關性),生成極小體積的編譯程式碼,以及保護使用者免受惡意程式攻擊的的關鍵技術組成部分。

Java虛擬機器是一種抽象計算機器。像真正的計算機一樣,它有一個指令集以及在執行時各種記憶體區域。
使用虛擬機器實現程式語言是相當普遍的;
最著名的虛擬機器可能是 P-Code machine of UCSD Pascal.

Java虛擬機器的第一個原型實現是在Sun Microsystems inc.完成的,它在手持裝置上模擬實現了Java虛擬機器指令集,該裝置類似於現在的個人數字助理(PDA)。Oracle現在已經將許多java虛擬機器實現應用於 移動裝置 pc 伺服器等領域,但是Java虛擬機器不侷限於任何特定的實現技術、主機硬體或主機作業系統。也不侷限於特定的程式碼執行方式,雖然不強求使用直譯器來執行程式,但是也可以通過將它的指令集編譯成一個實際的CPU來實現。它也可以在微程式碼microcode實現,也可以直接在CPU中實現。


Java虛擬機器對Java程式語言一無所知,只知道一種特定的二進位制格式,class檔案格式。一個class檔案包含Java虛擬機器指令集(或者稱之為位元組碼bytecode)和符號表,以及其他輔助資訊。

基於安全方面的考慮,Java虛擬機器在class檔案中施加了許多強制性的語法和結構化約束,凡是能用class檔案正確表達出來的程式語言,都可以放在Java虛擬機器裡面執行。由於它是一個通用的、機器無關的執行平臺,所以其他語言的實現者都可以考慮將Java虛擬機器作為那些語言的交付媒介。