Java 生態系名詞繁多,初學者極易混淆。本文從「平台版本」與「開發/執行工具」兩個維度,一次釐清核心概念差異。
| 縮寫 | 全稱 | 定位 | 典型場景 |
|---|---|---|---|
| J2SE | Java 2 Standard Edition | 標準版(基礎核心) | 桌面應用、控制台程式、基礎 API 學習 |
| J2EE | Java 2 Enterprise Edition | 企業版 | 分散式、多層架構企業級應用(Servlet、EJB、JMS 等) |
| J2ME | Java 2 Micro Edition | 微型版 | 功能機、PDA、嵌入式裝置(CLDC/MIDP 配置) |
補充:Java Card 面向智慧卡/安全模組開發。Oracle 收購 Sun 後,命名簡化為 Java SE / EE / ME,並新增 Java FX、Java DB 等產品線,初學者只需下載 JDK (Java SE Development Kit) 即可起步。
虛擬機器,屏蔽作業系統差異,實現「一次編寫,到處執行」。擁有獨立指令集、堆疊、堆、方法區、程式計數器等運行時資料區。
JRE = JVM + 核心類庫 (rt.jar 等) + 啟動器。僅能執行已編譯的 .class/.jar,無法開發。
JDK = JRE + 編譯器(javac) + 除錯器(jdb) + 文檔工具(javadoc) + 打包工具(jar) 等。開發者必裝,包含完整 JRE。
軟體開發工具包統稱。Java SDK ≈ JDK(官方常混用)。Windows SDK、.NET Framework SDK、DirectX SDK 同理。
SDK (廣義)
└─ JDK (Java 專用 SDK)
├─ JRE
│ └─ JVM
└─ 開發工具 (javac, javadoc, jconsole...)
掌握此層級關係,版本選型、環境變數配置(JAVA_HOME 指向 JDK 根目錄)、CLASSPATH 設定將不再迷茫。