在本章中,我們將討論 Java 編程語言中 JVM、JRE 和 JDK 的一個重要定義。我們還討論了 JVM、JRE 和 JDK 之間的區(qū)別。
Java 技術(shù)既是一種編程語言又是一個平臺。Java 編程語言是一種高級面向?qū)ο笳Z言,具有特定的語法和風(fēng)格。Java 平臺是 Java 編程語言應(yīng)用程序運(yùn)行的特定環(huán)境。
我們先從什么是JDK說起?
JDK (Java Development Kit) 是JRE的超集,包含了JRE中的所有內(nèi)容,以及開發(fā)和運(yùn)行Java程序或應(yīng)用程序所必需的工具,如編譯器、調(diào)試器、JavaDoc、keytool等。
下圖顯示 JDK(Java 開發(fā)工具包) 是一個軟件開發(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 等)的不同安裝程序):
JVM 是 Java 編程語言的一個非常重要的組成部分。當(dāng)您運(yùn)行 Java 程序時,Java 編譯器首先將您的 Java 代碼編譯為字節(jié)碼。然后,JVM 將字節(jié)碼翻譯成本地機(jī)器碼(計(jì)算機(jī) CPU 直接執(zhí)行的一組指令)。
JVM 將字節(jié)碼翻譯成機(jī)器語言,由于機(jī)器語言取決于所使用的操作系統(tǒng),很明顯 JVM 是平臺(操作系統(tǒng))相關(guān)的。
JVM之所以被稱為虛擬是因?yàn)樗峁┝艘粋€不依賴于底層操作系統(tǒng)和機(jī)器硬件的接口。
如果您有興趣了解 JVM 架構(gòu),請?jiān)L問JVM 架構(gòu)詳解。
Java 運(yùn)行時環(huán)境(JRE)提供庫、Java 虛擬機(jī)和其他組件來運(yùn)行用 Java 編程語言編寫的小程序和應(yīng)用程序。
JRE 不包含任何開發(fā)工具,如 Java 編譯器、調(diào)試器、JShell 等。
如果你只是想執(zhí)行一個java程序,你可以只安裝JRE。您不需要 JDK,因?yàn)椴恍枰_發(fā)或編譯 java 源代碼。
下圖顯示了 JRE(Java 運(yùn)行時環(huán)境)是一個軟件包,它提供 Java 類庫以及 Java 虛擬機(jī) (JVM) 和其他組件來運(yùn)行用 Java 編程編寫的應(yīng)用程序。
JRE = JVM + Java 包類(如 util、math、lang、awt、swing 等)+ 運(yùn)行時庫。
讓我們看一下 JDK、JRE 和 JVM 之間的一些重要區(qū)別。
下圖顯示了 JVM、JRE 和 JDK 之間的關(guān)系:
本文鏈接:http://www.tebozhan.com/showinfo-26-11848-0.html圖文并茂解釋 Java JVM、JRE 和 JDK
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: .Net GC從空閑列表里面分配對象
下一篇: 作用域 CSS 回來了,你知道嗎?