Java 生態系統術語繁多,初學者極易混淆 J2EE、J2SE、JDK、JRE、JSP、Tomcat 等概念。本文針對 8 個核心術語進行精準定義、組件拆解與關係圖解,助你建立清晰的知識地圖。
| 術語 | 全稱 | 定位 | 核心內容 |
|---|---|---|---|
| J2EE | Java 2 Platform, Enterprise Edition | 企業級開發平台規範 | EJB, JSP, Servlet, JMS, JTA, JNDI, JavaMail, JDBC 等 13 項技術規範 |
| J2SE | Java 2 Platform, Standard Edition | 標準版平台基礎 | JDK, JRE, 核心類庫 (java.lang, java.util, java.io 等) |
| JDK | Java Development Kit | 開發工具包 | javac, java, jar, javadoc, jdb + JRE 完整內容 |
| JRE | Java Runtime Environment | 執行環境 | JVM + 核心類庫 (rt.jar) + 支援檔案 |
| JSP | JavaServer Pages | 動態網頁技術 | HTML 中嵌入 Java 程式碼,編譯為 Servlet 執行 |
| JSWDK | JavaServer Web Development Kit | JSP/Servlet 開發包 | 支援 JSP 1.0 + Servlet API 2.1,整合 Web 伺服器 |
| Tomcat | Apache Tomcat | Servlet/JSP 容器 | Sun 技術支援,Jakarta 專案,含 JSWDK 全功能並增強 |
| JSDK | Java Software Development Kit | 舊稱/廣義 SDK | 早期稱呼,易混淆為 Servlet 專用,實為 JDK 同義詞 |
Java Platform ├── J2SE (標準版) │ ├── JDK (開發工具包) ◄── 開發者必裝 │ │ ├── 開發工具: javac, java, jar, javadoc... │ │ └── JRE (執行環境) ◄── 使用者端只需裝這個 │ │ ├── JVM (虛擬機) │ │ ├── 核心類庫 (rt.jar) │ │ └── 支援檔案 │ └── 核心 API 規範 (java.*, javax.*) │ ├── J2EE (企業版) ◄── 建構在 J2SE 之上 │ ├── 元件規範: EJB, Servlet, JSP, JMS... │ ├── 服務規範: JTA, JNDI, JavaMail... │ └── 需相容實作: WebLogic, WebSphere, JBoss, Tomcat(僅Web層)... │ └── J2ME (微縮版) ◄── 嵌入式/行動裝置 (KVM)
JDK/lib 供工具用,JRE/lib 供 JVM 執行期用
JSP 頁面 (.jsp)
│
▼ 首次請求時
JSP 引擎 (Jasper)
│
▼ 翻譯
Servlet 原始碼 (.java)
│
▼ 編譯
Servlet 類別 (.class)
│
▼ 執行
Servlet 實例 → service() 方法 → 產生 HTML 回應
後續請求直接執行已編譯的 Servlet 類別,效能極佳。
| 舊稱 | 現代稱呼 (Java 5+) |
|---|---|
| J2SE | Java SE (Java Platform, Standard Edition) |
| J2EE | Java EE → Jakarta EE (Java 9+ 移出 JDK, Eclipse 基金會維護) |
| J2ME | Java ME |
搞清「平台規範 (J2EE/J2SE)」、「工具包 (JDK)」、「執行環境 (JRE)」、「具體技術 (JSP/Servlet)」、「容器實作」這五個層次,Java 生態術語就不再混淆。記住核心關係:JDK ⊃ JRE ⊃ JVM,J2EE ⊃ J2SE,App Server ⊃ Web Container (Tomcat)。