新聞中心
在本章中,我們將討論 Java 編程語言中 JVM、JRE 和 JDK 的一個(gè)重要定義。我們還討論了 JVM、JRE 和 JDK 之間的區(qū)別。

Java 技術(shù)既是一種編程語言又是一個(gè)平臺。Java 編程語言是一種高級面向?qū)ο笳Z言,具有特定的語法和風(fēng)格。Java 平臺是 Java 編程語言應(yīng)用程序運(yùn)行的特定環(huán)境。
我們先從什么是JDK說起?
1、JDK(Java開發(fā)工具包)
JDK (Java Development Kit) 是JRE的超集,包含了JRE中的所有內(nèi)容,以及開發(fā)和運(yùn)行Java程序或應(yīng)用程序所必需的工具,如編譯器、調(diào)試器、JavaDoc、keytool等。
下圖顯示 JDK(Java 開發(fā)工具包) 是一個(gè)軟件開發(fā)工具包,它包含 JRE 中的所有內(nèi)容,以及開發(fā)和運(yùn)行 Java 程序或應(yīng)用程序所需的工具,例如編譯器、調(diào)試器、JavaDoc、keytool 等。
JDK 是特定于平臺的軟件,這就是我們?yōu)?Windows、Mac 和 Unix 系統(tǒng)提供單獨(dú)安裝程序的原因。例如,如果您導(dǎo)航到位于
https://www.oracle.com/in/java/technologies/javase-downloads.html的 Java 下載頁面,您將看到針對不同操作系統(tǒng)(Windows、Linux、Mac 等)的不同安裝程序):
2、JVM(Java虛擬機(jī))
JVM 是 Java 編程語言的一個(gè)非常重要的組成部分。當(dāng)您運(yùn)行 Java 程序時(shí),Java 編譯器首先將您的 Java 代碼編譯為字節(jié)碼。然后,JVM 將字節(jié)碼翻譯成本地機(jī)器碼(計(jì)算機(jī) CPU 直接執(zhí)行的一組指令)。
JVM 將字節(jié)碼翻譯成機(jī)器語言,由于機(jī)器語言取決于所使用的操作系統(tǒng),很明顯 JVM 是平臺(操作系統(tǒng))相關(guān)的。
JVM之所以被稱為虛擬是因?yàn)樗峁┝艘粋€(gè)不依賴于底層操作系統(tǒng)和機(jī)器硬件的接口。
如果您有興趣了解 JVM 架構(gòu),請?jiān)L問JVM 架構(gòu)詳解。
3、JRE(Java運(yùn)行時(shí)環(huán)境)
Java 運(yùn)行時(shí)環(huán)境(JRE)提供庫、Java 虛擬機(jī)和其他組件來運(yùn)行用 Java 編程語言編寫的小程序和應(yīng)用程序。
JRE 不包含任何開發(fā)工具,如 Java 編譯器、調(diào)試器、JShell 等。
如果你只是想執(zhí)行一個(gè)java程序,你可以只安裝JRE。您不需要 JDK,因?yàn)椴恍枰_發(fā)或編譯 java 源代碼。
下圖顯示了 JRE(Java 運(yùn)行時(shí)環(huán)境)是一個(gè)軟件包,它提供 Java 類庫以及 Java 虛擬機(jī) (JVM) 和其他組件來運(yùn)行用 Java 編程編寫的應(yīng)用程序。
JRE = JVM + Java 包類(如 util、math、lang、awt、swing 等)+ 運(yùn)行時(shí)庫。
4、JDK 對比 JRE 對比 JVM
讓我們看一下 JDK、JRE 和 JVM 之間的一些重要區(qū)別。
- JDK用于開發(fā)目的,而 JRE 用于運(yùn)行 java 程序。
- JDK和JRE都包含了JVM,這樣我們就可以運(yùn)行我們的java程序了。
- JVM是 Java 編程語言的核心,并提供平臺獨(dú)立性。
下圖顯示了 JVM、JRE 和 JDK 之間的關(guān)系:
標(biāo)題名稱:圖文并茂解釋 Java JVM、JRE 和 JDK
本文來源:http://www.5511xx.com/article/dhjgsgp.html


咨詢
建站咨詢
