| SDK 名稱 | 針對平台/用途 | 關係 |
| JDK (Java SE Development Kit) | 標準版 Java 桌面/服務端開發 | 核心基礎 SDK |
| Java EE SDK / Jakarta EE SDK | 企業級應用開發(Servlet、JPA、CDI 等) | 包含 JDK + EE 規範實現庫 + 應用服務器 |
| Android SDK | Android 應用開發 | 包含 JDK 子集 + Android API + 模擬器 + 構建工具 |
| Flutter SDK / Dart SDK | 跨平台 UI 開發 | 獨立 SDK,與 JDK 無直接關係 |
實際開發中的常見困惑與解答
Q1: 安裝了 JDK,還需要單獨下載「Java SDK」嗎?
A: 不需要。JDK 就是 Java SDK。網上有時會見到「Java SE SDK」字樣,指的就是 JDK。
Q2: JRE、JDK、SDK 三者關係?
- JRE (Java Runtime Environment) = JVM + 核心類庫,只能運行** Java 程序,不能開發。
- JDK = JRE + 開發工具(javac、javadoc、jdb 等),能開發也能運行**。
- SDK = 統稱。JDK 是一種 SDK。
生產環境服務器通常只安裝 JRE(或 JDK 的精簡版 JRE),開發機必須安裝完整 JDK。
Q3: 為什麼 Eclipse/IDEA 安裝後還要配置 JDK?
IDE 本身是用 Java 寫的(運行在 JVM 上),但編譯你的項目代碼需要 javac,調試需要 JDK 工具鏈。IDE 只是「會用刀具的工人」,刀具(JDK)得你自己備好並告訴工人放哪兒。
Q4: 什麼是「Java EE SDK」?它包含 JDK 嗎?
早期 Oracle 發布的 Java EE SDK 打包了 JDK + GlassFish 應用服務器 + EE API 實現,一鍵安裝即可開發企業級應用。現代開發多用 Maven/Gradle 管理依賴,單獨下載 JDK + 獨立應用服務器(Tomcat、WildFly)更靈活。
版本選型建議(2024 視角)
- LTS 版本優先:JDK 8、11、17、21 為長期支持版,企業級項目首選 17 或 21。
- 發行商選擇:Oracle JDK(商業用途需付費)、Eclipse Temurin (Adoptium)、Amazon Corretto、Azul Zulu、Red Hat Build 等 OpenJDK 構建版,功能基本一致,選擇團隊熟悉、有安全更新承諾的即可。
- 模塊化系統:JDK 9+ 引入模塊系統 (
module-info.java),遷移舊項目需關注 --add-opens、--add-exports 等啟動參數。
環境變量配置速查
# Windows (假設安裝在 C:\Java\jdk-21)
JAVA_HOME=C:\Java\jdk-21
PATH=%JAVA_HOME%\bin;%PATH%
# Linux/macOS (~/.bashrc 或 ~/.zshrc)
export JAVA_HOME=/usr/lib/jvm/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
驗證:java -version、javac -version 輸出版本一致即配置成功。
總結
- SDK 是「工具包」的統稱,JDK 是「Java 開發工具包」的具體實現。
- 開發 Java 程序 必須 有 JDK,JRE 只能運行。
- IDE、構建工具、應用服務器都是運行在 JDK/JRE 之上的上層工具,它們各自也有自己的 SDK 概念(如 Android SDK、Spring Boot SDK 指 starter 依賴集合)。
- 記住口訣:「JDK 是 Java 的 SDK,裝 JDK 就等於裝了 Java SDK」。
- 上一篇文章: Java Swing JTable 數據綁定實戰:從二維數組到 TableModel 的完整遷移指南
- 下一篇文章: Java print 與 println 區別詳解:換行行為與底層機制
Copyright ©
程式碼之家 All Rights Reserved