首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

J2ME 架構核心解析:Configuration、Profile 與 CLDC/MIDP 生態全景

     編輯:Java 程式設計入門

J2ME 定位與核心概念

J2ME (Java 2 Micro Edition) 是 Sun 針對嵌入式消費性電子產品推出的**技術與規範總稱**,非單一平台。核心架構分兩層:

  • Configuration (配置):定義**縱向 API 集合**服務廣泛裝置,**規範虛擬機 (VM)**。決定「有什麼核心類庫、什麼 VM」。
  • Profile (描述檔):運行在 Configuration 之上,為**具備特定硬體特徵的裝置類別**提供支援 (如螢幕、鍵盤、音頻)。決定「有什麼應用層 API」。

一個 Configuration 可支援多個 Profile (如 CLDC 上跑 MIDP、BT API、MMAPI)。

兩大標準 Configuration

特性CLDC (Connected Limited Device Configuration)CDC (Connected Device Configuration)
目標裝置記憶體 160KB-512KB、16/32-bit 處理器、間歇性網路 (手機、PDA)記憶體 2MB+、32/64-bit 處理器、持續網路 (機頂盒、車載系統、智能手機)
VMKVM (Kilobyte VM) / CLDC HICVM (完整 JVM 子集)
核心套件 (CLDC 1.0)java.lang, java.io, java.util (極精簡子集)
核心套件 (CDC 1.0)近 J2SE 完整 java.* (含 Collections, Reflection, JNI, RMI 等)

主流 Profile:MIDP (Mobile Information Device Profile)

  • 運行於 CLDC 之上,針對行動裝置 (手機)。
  • MIDP 1.0:引入 GUI (javax.microedition.lcdui)、MIDlet 生命週期、RMS 持久化、GCF 網路 (HTTP/HTTPS/Datagram)。
  • MIDP 2.0:新增 game 套件 (Sprite, TiledLayer, GameCanvas)、TCP Socket、多媒體 (MMAPI 子集)、安全信任域、PushRegistry 推播。
  • UI 設計**非 AWT/Swing 風格**:針對鍵盤/按鍵操作,分高層 UI (可攜性高、功能少) 與低層 UI (Canvas 直接繪圖、鍵盤事件、遊戲常用)。

關鍵子系統深度剖析

MIDlet 生命週期

由 AMS (Application Management Software) 管理,必須實作三個抽象方法:

  • startApp():啟動/恢復進入前台。
  • pauseApp():切入背景/來電中斷。
  • destroyApp(boolean unconditional):銷毀釋放資源。

RMS (Record Management System)

  • 輕量級記錄存儲 (非關聯式),資料以位元組陣列存於非揮發性記憶體,掉電不失。
  • 以 Record ID 存取,**無索引、無查詢語言**,開發者自行實作邏輯。

GCF (Generic Connection Framework)

  • 統一連接介面 Connector.open(url),支援 HTTP、HTTPS、Socket、Datagram、SSL、Comm 等。
  • 介面導向設計,極易擴充新協定。**網路操作必須在非主執行緒**,避免阻塞 UI。

Optional Packages (JSRs)

  • 針對特定硬體功能:MMAPI (多媒體)、JSR 82 (Bluetooth)、JSR 179 (Location)、JSR 184 (3D) 等。
  • 裝置廠商專有 API 會導致可攜性喪失,Sun 透過 JTWI (JSR 185) 規範最小標準 (Heap ≥ 256KB 等)。

學習建議

  1. 先掌握 **CLDC 核心類庫** (僅百餘類),切忌想當然套用 J2SE API。
  2. **多寫代碼、多讀 MIDP API 文檔**,理解 MIDlet 生命週期、高/低層 UI、RMS、GCF 四大支柱。
  3. 關注 **JSR 規範** (jcp.org) 追蹤標準演進。
  4. 明確區分 **J2ME ≠ CLDC+MIDP**,CDC 生態同樣重要。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved