配置定義了特定裝置類別的「最小運行時環境」:核心類庫集合 + 對應的 Java 虛擬機實現。Sun 針對不同市場層次制定了兩套配置:CLDC(針對資源受限小型裝置)與CDC(針對較高階嵌入式裝置)。J2ME 環境可動態配置,僅提供應用所需的庫,由網路伺服器協助完成配置分發。
由 Java Community Process(JCP)制定,標準為「輕量、最小覆蓋面的 Java 建構塊,適合資源受限的小型裝置」。包含 K 虛擬機(KVM)、核心類庫,以及建構在其上的 KJava Profile。CLDC 規範了高度受限裝置上 J2ME 運行所需的最小庫集與 VM 特性。
javax.microedition 及其子包java.io、java.lang、java.utilCDC 定義為「加入 CLDC 類的 J2SE 精簡版」,建構在 CLDC 之上,因此 CLDC 應用可直接在 CDC 裝置運行。由 JCP 開發,針對 32 位處理器、記憶體 > 2 MB 的智慧型手機、雙向傳呼機、PDA、家電、POS、車載導航等。使用 C 虛擬機(CVM),關聯 Foundation Profile(本教程不涵蓋)。
| 特性 | CLDC (KVM) | CDC (CVM) |
|---|---|---|
| 目標裝置 | 手機、低階 PDA、傳呼機 | 智慧型手機、高階 PDA、車載、POS、機頂盒 |
| 處理器 | 16/32 位 | 32 位 |
| 總記憶體 | 160 KB+ (128K 穩定 + 32K 非穩定) | 2 MB+ |
| 浮點支援 | 無 | 有 |
| 虛擬機 | KVM (Kilobyte VM) | CVM (Compact VM) |
| 核心包 | java.io/lang/util 子集 + javax.microedition | 含 CLDC 所有類 + J2SE 更大子集 |
| Profile 範例 | MIDP | Foundation / Personal Basis / Personal Profile |
• 需浮點運算、較大記憶體、完整 GUI(AWT/Swing 子集)→ 選 CDC
• 極度受限、僅需基本邏輯與簡易 UI、無浮點需求 → 選 CLDC + MIDP
CLDC 與 CDC 代表了 J2ME 世界的兩極:極致精簡與功能相對完整。理解兩者的硬體門檻、API 差異與 Profile 生態,是為目標裝置選擇正確技術棧的前提。