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

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


咨詢(xún)
建站咨詢(xún)
