初次接觸 Java 2 Micro Edition 的開發者,常被 CLDC、CDC、MIDP、KVM、JTWI、MMAPI、WMA 等術語淹沒。本文從宏觀架構出發,梳理 J2ME 的版本演進、核心概念、設備分層與開發選型策略,助你建立清晰的知識地圖。
J2ME 採用「配置 + 配置檔」雙層架構,針對異構嵌入式設備提供靈活適配:
| 配置 | 目標設備 | 內存/運算 | 核心庫子集 | JVM |
|---|---|---|---|---|
| CLDC (Connected Limited Device Configuration) | 手機、PDA、頁碼機 | 160KB-512KB、16/32-bit CPU | java.lang.*、java.io.*、java.util.*、javax.microedition.io.* | KVM (Kilobyte VM) |
| CDC (Connected Device Configuration) | 機頂盒、車載系統、高端 PDA | 2MB+、32-bit CPU | 接近 J2SE 核心庫 | CVM / Foundation Profile |
CLDC 1.0 vs 1.1:1.1 新增 float/double 浮點支持、java.lang.Math 完整實現、弱引用等特性。
Profile 建立在 Configuration 之上,定義特定領域的 UI、持久化、網絡、多媒體等 API:
J2ME 開發流程:javac 編譯 → (可選) 混淆 → preverify 預審核 → jar 打包 → 生成 .jad 描述文件 → OTA/數據線部署。
預審核器作用:在 PC 端預先完成字節碼驗證大部分工作,在類文件中添加標記,大幅減少設備端驗證開銷,加快啟動速度、省電。
J2ME 不是單一 JVM,而是一個規範族群。理解「Configuration 定義硬件底線,Profile 定義垂直 API,可選包按需擴展」這一核心邏輯,即可在繁雜術語中把握主線,根據目標設備能力快速選型:手機首選 CLDC + MIDP,高端設備考慮 CDC + PBP/PP,特定功能引入對應可選包。