Java Development Kit (JDK) 是 Java 編程中使用的三個核心技術(shù)包之一,與 JVM(Java 虛擬機(jī))和 JRE(Java 運(yùn)行時環(huán)境)一起。區(qū)分這三種技術(shù)并了解它們之間的聯(lián)系非常重要:
- JVM是托管正在運(yùn)行的程序的運(yùn)行時。
- JRE是 Java 的磁盤部分,它創(chuàng)建 JVM 并將程序加載到其中。
- JDK 提供了編寫可由 JVM 和 JRE 執(zhí)行和運(yùn)行的 Java 程序所需的工具。
剛接觸 Java 的開發(fā)人員經(jīng)常混淆 Java 開發(fā)工具包和 Java 運(yùn)行時環(huán)境。區(qū)別在于 JDK 是用于開發(fā)基于 Java 的軟件的工具包,而 JRE 是用于運(yùn)行Java 代碼的工具包。
JRE 可以用作獨(dú)立組件來簡單地運(yùn)行 Java 程序,但它也是 JDK 的一部分。JDK 需要 JRE,因?yàn)檫\(yùn)行 Java 程序是開發(fā)它們的一部分。
圖 1 顯示了 JDK 如何融入 Java 應(yīng)用程序開發(fā)生命周期。
圖 1. JDK 的高級視圖。
在繼續(xù)之前,讓我們考慮一下 JDK 的技術(shù)和日常定義:
- 技術(shù)定義:JDK是Java平臺規(guī)范的實(shí)現(xiàn),包括編譯器和標(biāo)準(zhǔn)類庫。
- 日常定義:JDK 是你為創(chuàng)建基于 Java 的應(yīng)用程序而下載的軟件包。
JDK 版本和軟件包
在你的開發(fā)環(huán)境中設(shè)置 Java 就像下載 JDK 并將其添加到操作系統(tǒng)上的系統(tǒng)路徑一樣簡單。對于 Windows 和 macOS,Java 包含一個可以為你執(zhí)行此操作的安裝程序。
下載 JDK 時,需要選擇要使用的 Java 版本。 Java 11最近超越了Java 8,成為最常用的版本。展望未來,Java 17 似乎可能是下一個突出的版本。Java 保持向后兼容性,所以我們只下載最新版本。
過去,你還必須選擇 Java 包。這些 JDK 針對不同類型的開發(fā),如 Java Enterprise Edition (Java EE)、Java Standard Edition (Java SE) 和 Java Mobile Edition (Java ME)?,F(xiàn)在企業(yè) Java 庫已經(jīng)遷移到 Jakarta EE,流程已經(jīng)改變。你仍然需要從 Oracle 或 OpenJDK 等實(shí)現(xiàn)者那里下載 Java SE JDK。如果你需要對企業(yè)和云原生應(yīng)用程序開發(fā)有用的其他工具,那么你可能需要下載并安裝 Jakarta EE。在某些情況下,你可能不需要整個 Jakarta EE 平臺。例如,如果你只需要一個 JDK 和 servlet,你可以使用標(biāo)準(zhǔn)的 JDK 和Tomcat,其中包括Servlet API。
下載 Java SE 的 JDK
我們將堅(jiān)持使用 Java SE 進(jìn)行介紹,以便我們可以專注于核心 JDK 類和技術(shù)。要下載 Java SE 開發(fā)工具包,請?jiān)L問 Oracle 的官方下載頁面。你將看到各種可用的 JDK 包,如圖 2 所示。
圖 2. 可用的 JDK 包。
在選擇 Java SE 下載之前,請花一點(diǎn)時間查看其他選項(xiàng)。Java廚房里有很多烹飪!
如何安裝 JDK
JDK 安裝有兩種方式:手動或安裝程序。在手動安裝中,你下載二進(jìn)制文件,解壓縮它們,然后將它們添加到路徑中。這在所有操作系統(tǒng)中都很常見。你可能知道如何執(zhí)行這種類型的安裝。
安裝程序可用于 macOS 和 Windows。當(dāng)你運(yùn)行 JDK 安裝程序時,你可以選擇三個組件:開發(fā)工具、源代碼和公共 JRE。你可以安裝其中一個或全部。在這種情況下,只需選擇默認(rèn)值。
安裝Development Tools選項(xiàng)為你提供正確的 JDK。安裝源代碼包含核心 Java API 中公共類的源代碼。包含此選項(xiàng)允許你在構(gòu)建應(yīng)用程序時引用源代碼。第三個選項(xiàng)Public JRE表明 JDK 和 JRE 是獨(dú)立的實(shí)體:公共 JRE 可以被其他程序用來執(zhí)行 Java 程序,并且可以與 JDK 分開安裝。
繼續(xù)安裝所有三個組件并接受每個組件的默認(rèn)值。這樣做意味著你的 JDK 和 JRE 將安裝在操作系統(tǒng)的默認(rèn)位置。在 Windows 上,即C:\Program Files\Java\jdk-*,如圖 3 所示。(在舊版本的 Java 中,JDK 和 JRE 有單獨(dú)的目錄。在較新的版本中,它們一起安裝在 JDK 目錄中。)
圖 3. 已安裝 JDK 的視圖。
兩個關(guān)鍵的 Java 命令:java 和 javac
JDK 中的 JRE 將java命令添加到命令行。你可以通過進(jìn)入命令 shell 并鍵入 來驗(yàn)證這一點(diǎn)java -version,這應(yīng)該會返回你剛剛安裝的 Java 版本。(在某些情況下,你必須重新啟動系統(tǒng)才能完全采用對系統(tǒng)路徑的更改。)
已經(jīng)java安裝好了,但是呢javac?你將需要這個 JDK 組件來編譯你的 Java 文件。
該javac命令位于/jdk目錄中,并且在最新版本的安裝程序中將自動添加到路徑中....。某些 IDE 默認(rèn)包含 Java 編譯器。如果你愿意,通常可以將它們配置為使用特定的安裝版本。
編譯并運(yùn)行 Java 程序
我們將從以老式方式編譯和運(yùn)行 Java 程序開始——使用文本文件和控制臺命令。這讓我們對實(shí)際發(fā)生的事情有一個很好的了解。
步驟 1. 編寫一個簡單的 Java 程序
創(chuàng)建一個新的文本文件,調(diào)用Intro.java它并將其放置在你計(jì)算機(jī)上的某個位置,例如你的文檔文件夾中。
接下來,添加清單 1 中的代碼,這是一個非常簡單的 Java 程序。
清單 1. Intro.java
public class Intro {
public static void main(String[] args) {
System.out.println("Welcome to the JDK!");
}
}
步驟 2. 使用 JDK 編譯
接下來,使用 JDK 編譯器將你的文本文件轉(zhuǎn)換為可執(zhí)行程序。Java中的編譯代碼稱為字節(jié)碼,并帶有.class擴(kuò)展名。
你將使用該javac命令,將Intro.java文件作為參數(shù)傳遞給該命令。你正在將我們在清單 1 中創(chuàng)建的 Java 文件輸入到j(luò)avac命令中。在我的系統(tǒng)上,如清單 2 所示。(在較舊的 Java 版本中,你需要在命令 shell 中鍵入命令的完整路徑,如注釋行中所示。)
清單 2. 使用 JDK 編譯
javac Intro.java
//"C:\Program Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java
這應(yīng)該會導(dǎo)致編譯成功。javac不會以成功消息響應(yīng);它只會輸出新文件。任何錯誤都會導(dǎo)致控制臺輸出。
步驟 3. 運(yùn)行 .class 文件
你現(xiàn)在應(yīng)該Intro.class在與Intro.java.
你可以通過鍵入: 來運(yùn)行它java Intro,這將產(chǎn)生如清單 3 所示的輸出。請注意,你.class在鍵入此命令時不包括 。
清單 3. 運(yùn)行 Intro.class
C:\Users\mtyson\Documents>java Intro
Welcome to the JDK!
創(chuàng)建一個 JAR 文件并將其添加到你的類路徑中
這javac是 JDK 的明星,但該/bin目錄包含你將需要的其他工具。之后最突出的可能javac是jar工具。
JAR (.jar) 文件是一組打包的 Java 類。編譯器創(chuàng)建.class文件后,開發(fā)人員可以將它們放在一起,.jar以可預(yù)測的方式壓縮和構(gòu)造它們。
讓我們轉(zhuǎn)換Intro.class為.jar文件。
導(dǎo)航回你放置 的目錄Intro.java,然后輸入你在清單 4 中看到的命令。
清單 4. 創(chuàng)建一個 JAR 文件
C:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class
現(xiàn)在你將intro.jar在目錄中看到一個文件。你可以.jar通過將其添加到類路徑并在其中執(zhí)行程序來使用它,如下所示:
清單 5. 將 JAR 添加到你的類路徑
java -cp intro.jar Intro
該-cp開關(guān)告訴 Java 添加jar到類路徑中。對于這個小程序來說,一個.jar文件比我們需要的要多,但隨著程序的大小增加并依賴第三方包,它們是必不可少的。
IDE 中的 JDK
集成開發(fā)環(huán)境 (IDE) 是為開發(fā)應(yīng)用程序提供一組內(nèi)聚工具的軟件。將 IDE 視為一個可視化操作系統(tǒng),包括文件瀏覽器和文本編輯器,以及特定于開發(fā)的功能,如代碼完成和格式化。Eclipse、IntelliJ 和 NetBeans都是經(jīng)過充分測試且功能強(qiáng)大的 Java IDE。微軟無處不在的Visual Studio Code (VS Code)是 Java 應(yīng)用程序開發(fā)的另一個有力競爭者。
在 Java 開發(fā)中,IDE 所做的一項(xiàng)關(guān)鍵工作是管理編譯。也就是說,IDE 會在后臺自動運(yùn)行編譯過程,因此你不必自己不斷地進(jìn)行編譯。IDE 還可以隨時提供播放反饋,即時捕捉編碼錯誤。
你已經(jīng)了解了 JDK 在命令行中的工作方式,現(xiàn)在讓我們快速了解一下它在 Eclipse 中的工作方式。
Eclipse 和 JDK
安裝 Eclipse 不在本指南的范圍內(nèi),但它是一個簡單的過程。Eclipse 包括與任何其他程序一樣的安裝程序,你可以在此處找到適合你的操作系統(tǒng)的安裝程序。
安裝 Eclipse 后,從菜單欄中打開Window項(xiàng)并選擇Preferences。
在 Preferences 窗口中,你將看到Java項(xiàng)。打開它,在里面你會看到Compiler項(xiàng)。單擊它將顯示 JDK 的選項(xiàng)。
圖 4 顯示了 Eclipse 中 JDK 選項(xiàng)的屏幕截圖。
圖 4. Eclipse 中的 JDK 選項(xiàng)。
如前所述,你需要為你的項(xiàng)目選擇正確的 JDK 版本。在后臺,IDE 將運(yùn)行 JDK 編譯器,就像你從命令行運(yùn)行它一樣。Eclipse IDE 也有自己的 JDK 實(shí)例。IDE 為你管理 JDK 和 JRE,讓生活更輕松!
原文標(biāo)題:??What is the JDK? Introduction to the Java Development Kit??