- Java程序設計基礎(第6版)
- 陳國君主編
- 591字
- 2019-07-01 10:10:55
1.4 Java虛擬機
大部分的計算機語言程序都必須先經過編譯(compile)或解釋(interpret)的操作后,才能在計算機上運行,然而,Java程序(.java文件)卻比較特殊,它必須先經過編譯的過程,然后再利用解釋的方式來運行。通過編譯器(compiler),Java程序會被轉換成與平臺無關(platform-independent)的機器碼,Java稱之為“字節碼”(byte-codes),字節碼文件的擴展名為.class。通過Java的解釋器(interpreter)便可解釋并運行Java的字節碼。圖1.1說明了Java程序的執行過程。

圖1.1 Java程序的運行過程:先編譯,后解釋
字節碼是Java虛擬機(Java Virtual Machine, JVM)的指令組,和CPU上的微指令碼很相像。Java程序編譯成字節碼后文件尺寸較小,便于網絡傳輸。
字節碼最大的好處是可跨平臺運行,即Java的字節碼可以編寫一次,到處運行。用戶使用任何一種Java編譯器將Java源程序(.java)編譯成字節碼文件(.class)后,無論使用哪種操作系統,都可以在含有JVM的平臺上運行。這種跨越平臺的特性也是讓Java語言急速普及的原因之一。
任何一種可以運行Java字節碼的軟件均可被看成Java的“虛擬機”(JVM),如瀏覽器與Java的開發工具等皆可被視為一部JVM。很自然地,可以把Java的字節碼看成JVM上所運行的機器碼(machine code),即JVM中的解釋器負責將字節碼解釋成本地的機器碼。所以從底層上看,JVM就是以Java字節碼為指令組的“軟CPU”??梢哉f,JVM是可運行Java字節碼的假想計算機。它的作用類似于Windows操作系統,只不過在Windows上運行的是.exe文件,而在JVM上運行的是Java字節碼文件,也就是擴展名為.class的文件。JVM其實就是一個字節碼解釋器。
- Spring Boot 2實戰之旅
- 前端跨界開發指南:JavaScript工具庫原理解析與實戰
- Apache Spark Graph Processing
- Python金融數據分析
- 小學生C++創意編程(視頻教學版)
- 數據結構與算法分析(C++語言版)
- Python之光:Python編程入門與實戰
- 微信小程序開發與實戰(微課版)
- Java程序員面試筆試寶典(第2版)
- 智能手機故障檢測與維修從入門到精通
- 進入IT企業必讀的324個Java面試題
- Python網絡爬蟲實例教程(視頻講解版)
- Visual Basic程序設計基礎
- 深入理解Java虛擬機:JVM高級特性與最佳實踐
- Parallel Programming with Python