字節碼文件:不包含硬件信息,完全與硬件平台無關,因此,無法直接由操作系統來運行。
Java應用程序的執行過程:代碼裝入、代碼檢驗、代碼執行。
Java虛擬機(JVM):虛擬軟件平台。為了能讓編譯生成的字節碼更好的解釋執行,通常將其劃分為6個功能模塊:JVM解釋器、指令系統、寄存器、棧、存儲區和碎片回收區。
JVM解釋器:字節碼轉換成CPU執行的機器指令;
指令系統:與硬件計算機相似;
寄存器:4個常用的32位寄存器:pc(程序計數器)、optop(操作數棧頂指針)、frame(當前執行環境指針)、vars(執行第一個局部變量的指針);
棧:JVM棧是指令執行時數據和信息存儲的場所和控制中心,它提供給JVM解釋器運算所需的信息;
存儲區:JVM存儲區用於存儲編譯後的字節碼信息,提供處理的原料;
碎片會收取:將使用後的Java類的具體實例從內存中進行回收,實現自動化釋放內存。
JVM的運用讓Java實現了“一次編譯,處處運行”,它是整個運行系統的核心。
JDK:是Sun公司房補的免費的Java開發工具,有三個成員:J2EE、J2SE、J2ME;
J2EE:用於可擴展的企業級應用Java 2平台之上;
J2SE:用於工作站和PC機的Java標准平台之上;
J2SE:用於嵌入式消費電子平台之上。
若按其運行的操作系統劃分:JDK分別有for Windows、for Linux、for Solaris和MacOS等不同版本。(JDK自身向下兼容)