- Java程序設計實戰案例教程
- 王靜紅 劉芳 李雅莉主編
- 584字
- 2025-02-08 17:10:28
1.4 Java程序的運行機制
運行Java程序時,需要了解Java程序的運行機制。程序運行時,要經過編譯和解釋運行。首先編譯擴展名為.java的源文件,生成擴展名為.class的字節碼文件。然后,JVM解釋運行字節碼。最后,顯示運行結果。
1.JDK、JRE、JVM三者之間的關系
JDK是整個Java開發的核心,它集成了JRE和一些工具,例如javac.exe、java.exe、jar.exe等。
JRE主要包含兩個部分:JVM的標準實現和Java的一些基本類庫。
JVM只執行.class類型的文件,識別.class文件中的字節碼指令并調用操作系統上的API完成操作。所以JVM是Java能夠跨平臺的關鍵所在。
JDK、JRE、JVM三者之間的關系如圖1-18所示。
2.JVM加載.class文件的原理和步驟
JVM加載.class文件的原理如圖1-19所示。

圖1-18 JDK、JRE、JVM三者之間的關系

圖1-19 JVM加載.class文件的原理
其加載步驟如下。
第一步:使用記事本編寫源程序。Java源程序的擴展名是.java。
第二步:編譯源程序。源程序編寫完成后,需要編譯器把源文件編譯為與所使用平臺無關的.class文件,也就是字節碼文件。
第三步:在系統平臺中運行.class文件,即可獲得運行結果。
3.Java的跨平臺實現
如圖1-20所示,編譯之后字節碼文件可以在多個平臺上運行,因為JVM的存在,平臺能夠讀取并處理字節碼文件。這就體現了 Java 程序“一次編寫,隨處運行”的特點,可以有效解決程序語言在不同操作系統編譯時產生不同機器代碼的問題,大大降低了程序開發和維護的成本。Java程序通過JVM可以實現跨平臺,但是JVM并不是跨平臺的,不同操作系統中JVM也是不相同的。

圖1-20 不同版本的JVM
推薦閱讀
- 大學計算機基礎(第三版)
- Redis入門指南(第3版)
- Redis Applied Design Patterns
- 程序員數學:用Python學透線性代數和微積分
- Groovy for Domain:specific Languages(Second Edition)
- 單片機應用技術
- Xamarin.Forms Projects
- Android傳感器開發與智能設備案例實戰
- Buildbox 2.x Game Development
- Java Web開發實例大全(基礎卷) (軟件工程師開發大系)
- QPanda量子計算編程
- 視窗軟件設計和開發自動化:可視化D++語言
- The Statistics and Calculus with Python Workshop
- Android技術內幕(系統卷)
- 讓Python遇上Office:從編程入門到自動化辦公實踐