你知道JDK、JRE與JVM的區(qū)別嗎?我來告訴你
什么是 JDK?
JDK 的英文全稱是 Java Development Kit。JDK是用于制作程序和Java應(yīng)用程序的軟件開發(fā)環(huán)境。Java 開發(fā)人員可以在 Windows、macOS、Solaris 和 Linux 上使用,是一個跨平臺編程語言。JDK 幫助他們編寫和運(yùn)行 Java 程序??梢栽谕慌_計(jì)算機(jī)上安裝多個 JDK 版本。
什么是 JRE?
JRE 的英文全稱是 Java Runtime Environment。JRE 是一個旨在運(yùn)行其他軟件的軟件(有點(diǎn)繞口)。它包含類庫、加載器類和 JVM。簡單來說,如果你想運(yùn)行 Java 程序,你需要 JRE。如果您不是程序員,則無需安裝 JDK,只需安裝 JRE 即可運(yùn)行 Java 程序。不過,所有 JDK 版本都與 Java Runtime Environment 捆綁在一起,因此無需在 PC 單獨(dú)下載和安裝 JRE。JRE 的完整形式是 Java 運(yùn)行時環(huán)境。
什么是JVM?
JVM 的英文全稱是Java Virtual Machine。JVM 是一個引擎,它提供運(yùn)行時環(huán)境驅(qū)動 Java 代碼或應(yīng)用程序。它將 Java 字節(jié)碼轉(zhuǎn)換為機(jī)器語言。JVM 是 Java 運(yùn)行環(huán)境 (JRE) 的一部分。它不能單獨(dú)下載和安裝。要安裝 JVM,您需要安裝 JRE。JVM的就是Java虛擬機(jī)。
在許多其他編程語言中,編譯器為特定系統(tǒng)生成機(jī)器代碼。但是,Java 編譯器則稱為 JVM 虛擬機(jī)生成代碼。
主要區(qū)別
- JDK是一個軟件開發(fā)工具包,而JRE是一個允許Java程序運(yùn)行的軟件包,JVM則是一個執(zhí)行字節(jié)碼的環(huán)境。
- JDK的全稱是Java Development Kit,JRE的全稱是Java Runtime Environment,而JVM的全稱是Java Virtual Machine。
- JDK 是平臺相關(guān)的,JRE 也是平臺相關(guān)的,但是 JVM 不是平臺相關(guān)的。
- JDK 包含開發(fā)、調(diào)試等工具。JRE 包含類庫和其他支持文件,而軟件開發(fā)工具不包含在 JVM 中。
- JDK 附帶安裝程序,另一方面,JRE 僅包含執(zhí)行源代碼的環(huán)境,而 JVM 捆綁在軟件 JDK 和 JRE 中。
為什么要使用 JDK?
以下是使用JDK的重要原因:
- JDK 包含編寫 Java 程序所需的工具,以及執(zhí)行它們的 JRE。
- 它包括編譯器、Java 應(yīng)用程序啟動器、Appletviewer 等。
- 編譯器將用 Java 編寫的代碼轉(zhuǎn)換為字節(jié)碼。
- Java 應(yīng)用程序打開一個 JRE,加載必要的類,并執(zhí)行它的 main 方法。
為什么要使用 JRE?
以下是使用 JRE 的重要原因:
- JRE 包含類庫、JVM 和其他支持文件。它不包含任何用于 Java 開發(fā)的工具,如調(diào)試器、編譯器等。
- 它使用重要的包和類,如 math、swingetc、util、lang、awt 和運(yùn)行時庫。
- 如果您必須運(yùn)行 Java 程序,就必須在您的系統(tǒng)中安裝 JRE。
為什么選擇JVM?
以下是使用 JVM 的重要原因:
- JVM 提供了一種獨(dú)立于平臺的方式來執(zhí)行 Java 源代碼。
- 它有許多庫、工具和框架。
- 一旦你運(yùn)行 Java 程序,你就可以在任何平臺上運(yùn)行并節(jié)省大量時間。
- JVM 帶有 JIT(Just-in-Time)編譯器,可將 Java 源代碼轉(zhuǎn)換為機(jī)器語言。因此,它比常規(guī)應(yīng)用程序運(yùn)行得更快。
JDK的特點(diǎn)
以下是 JDK的重要特性:
- 它使您能夠在單個 catch 塊中處理多個擴(kuò)展。
- JDK 包含了 JRE 的所有特性。
- 它包含開發(fā)工具,例如編譯器、調(diào)試器等。
- JDK 提供了開發(fā)和執(zhí)行 Java 源代碼的環(huán)境。
- 它可以安裝在 Windows、Unix 和 Mac 操作系統(tǒng)上。
- 菱形運(yùn)算符可用于指定泛型類型接口,而不是編寫確切的類型接口。
JRE的特點(diǎn)
以下是 JRE 的重要特性:
- Java 運(yùn)行時環(huán)境是 JVM 實(shí)際運(yùn)行所使用的一組工具。
- JRE 包含部署技術(shù),包括 Java Web Start 和 Java Plug-in。
- 開發(fā)人員可以輕松地在 JRE 中運(yùn)行源代碼,但不能編寫和編譯 Java 程序。
- 它包括集成庫,如 Java 數(shù)據(jù)庫連接 (JDBC)、遠(yuǎn)程方法調(diào)用 (RMI)、Java 命名和目錄接口 (JNDI) 等。
- JRE 有 JVM 和 Java HotSpot 虛擬機(jī)客戶端。
JVM的特點(diǎn)
以下是 JVM 的重要特性:
- 它使您能夠在云環(huán)境或設(shè)備中運(yùn)行應(yīng)用程序。
- Java 虛擬機(jī)將字節(jié)碼轉(zhuǎn)換為特定于機(jī)器的代碼。
- 它提供了基本的 Java 功能,如內(nèi)存管理、安全性、垃圾收集等。
- JVM 通過使用 Java Runtime Environment 提供的庫和文件來運(yùn)行程序。
- JDK 和 JRE 都包含 Java 虛擬機(jī)。
- 它可以逐行執(zhí)行java程序,因此也稱為解釋器。
- JVM 易于定制,例如,您可以為其分配最小和最大內(nèi)存。
- 它獨(dú)立于硬件和操作系統(tǒng)。因此,您可以編寫一次 java 程序并在任何地方運(yùn)行。