| 術語 | 含義 | 關係 |
|---|---|---|
| JDK (Java Development Kit) | 開發工具包:javac、java、jar、javadoc、jdb、JConsole 等 + JRE | 開發者安裝的實體軟體包 |
| JRE (Java Runtime Environment) | 運行環境:JVM + 核心類庫 (rt.jar) + 啟動器 | JDK 內含;用戶端僅需 JRE |
| Java SE (Standard Edition) | 標準版規範:核心 API (java.*, javax.*) + JVM 規範 | JDK/JRE 實現了 SE 規範 |
| Java EE (Enterprise Edition, 現 Jakarta EE) | 企業版規範:Servlet、JPA、JTA、CDI、Bean Validation 等擴展 API | 在 SE 基礎上擴展;應用伺服器實現 |
| Java ME (Micro Edition) | 嵌入式版規範:精簡 VM + 子集 API (javax.microedition.*) | 針對資源受限設備;現多為 Android/嵌入式 Linux 替代 |
| JDK 版本 | Java SE 版本 | Java EE 版本 | 關鍵特性 |
|---|---|---|---|
| JDK 1.0 - 1.4 | J2SE 1.0 - 1.4 | J2EE 1.2 - 1.4 | 早期發展期 |
| JDK 5 (1.5) | Java SE 5 | Java EE 5 | 泛型、註解、枚舉、自動裝箱 |
| JDK 6 | Java SE 6 | Java EE 6 | Scripting、JDBC 4.0、JAX-WS |
| JDK 7 | Java SE 7 | Java EE 7 | try-with-resources、NIO.2、invokedynamic |
| JDK 8 (LTS) | Java SE 8 | Java EE 8 | Lambda、Stream、新日期時間、Nashorn |
| JDK 9 | Java SE 9 | — | 模組系統、JShell、HTTP/2 Client |
| JDK 11 (LTS) | Java SE 11 | — (Jakarta EE 8 獨立發布) | var、HTTP Client 標準化、飛行記錄器 |
| JDK 17 (LTS) | Java SE 17 | Jakarta EE 9/10 | 封閉類、記錄類、模式匹配、向量 API |
| JDK 21 (LTS) | Java SE 21 | Jakarta EE 10 | 虛擬線程、記錄模式、字符串模板、結構化並發 |
jakarta.servlet:jakarta.servlet-api)並在應用伺服器(Tomcat、WildFly、GlassFish)運行。ME 同理。JAVA_HOME、PATH。pom.xml 引入 EE API(scope=provided)。理解 JDK/SE/EE/ME 定位與版本對應,是構建正確技術選型與避免依賴衝突的前提。