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

J2ME 核心概念速查手冊:Configuration、Profile、MIDP、CDC、可選包與選型決策樹

     編輯:J2ME

一句話定義 J2ME

J2ME (Java 2 Micro Edition) 是針對資源受限嵌入式設備 (手機、PDA、機頂盒、智能卡等) 定義的一組 Java 運行環境規範族群,核心採用「Configuration + Profile」雙層架構。

Configuration:設備硬件能力基線

配置全稱目標設備典型內存CPU核心庫JVM浮點
CLDCConnected Limited Device Configuration手機、低端 PDA、頁碼機160-512 KB16/32-bitjava.lang/io/util 子集 + javax.microedition.ioKVM1.0 無,1.1 有
CDCConnected Device Configuration高端 PDA、機頂盒、車載、工控2 MB+32-bit+接近 J2SE 核心庫CVM完整支持

CLDC 1.0 vs 1.1 關鍵差異

  • 浮點類型:1.0 無 float/double,1.1 完整支持
  • Math 工具類:1.0 僅基本方法,1.1 完整
  • 弱引用:1.1 新增 java.lang.ref.WeakReference
  • 錯誤處理:1.1 完善 Error/Exception 體系

Profile:垂直領域 API 標準

Profile全稱基礎 Configuration核心功能典型設備
MIDPMobile Information Device ProfileCLDCUI (Form/List/Canvas)、RMS、HTTP/HTTPS、Game API、多媒體子集、推送、安全域Java 手機 (主流)
PBPPersonal Basis ProfileCDCAWT 子集、輕量 UI高端 PDA、機頂盒
PPPersonal ProfileCDCAWT + Swing 子集、豐富 UI高端 PDA、嵌入式桌面
IMPInformation Module ProfileCLDC無 UI、網絡管理、工業模塊路由器、電表、傳感器

MIDP 1.0 → 2.0 關鍵增強

  • Game API:Sprite、Layer、GameCanvas、Graphics 雙緩衝
  • 多媒體:Player、VolumeControl、ToneControl (MMAPI 子集)
  • 推送註冊:PushRegistry 支持 Socket/HTTP/SMS 喚醒
  • 安全模型:Trusted/Untrusted 域、權限聲明、數字簽名
  • UI 增強:CustomItem、PopUp、AlertType、鍵盤鎖定

可選包:按需擴展能力矩陣

JSRAPI 名稱功能域依賴典型應用
135MMAPI多媒體 (音視頻錄製/播放、MIDI、音效、攝像頭)CLDC/MIDP音樂播放器、視頻播放、錄音、鈴聲
184M3G3D 圖形 (模型加載、動畫、光照、材質)CLDC/MIDP3D 遊戲、地圖導航、產品展示
120WMA無線消息 (SMS、CBS、MMS 收發)CLDC/MIDP短信應用、WAP Push、彩信客戶端
75PIM / FileConnection個人信息管理 (聯繫人/日曆/待辦) + 文件系統訪問CLDC/MIDP通訊錄同步、文件管理器、備忘錄
82Bluetooth藍牙通信 (L2CAP、RFCOMM、OBEX、服務發現)CLDC/MIDP文件傳輸、藍牙打印、外設控制
172Web ServicesJAX-RPC Stub、WSDL 解析、SOAP/HTTP 調用CLDC/MIDP企業級移動客戶端、ERP/CRM 移動化
179Location定位 (GPS、Cell-ID、WiFi 定位、地標)CLDC/MIDP導航、LBS、軌跡記錄、查找附近
211CHAPI智能卡/安全元件訪問 (APDU、卡管理)CLDC/MIDP移動支付、票務、身份認證
177SATSA安全 API (AAPDU、CRYPTO、PKI、存儲)CLDC/MIDP數字簽名、加密存儲、DRM

選型決策樹:根據目標設備選擇技術棧


目標設備類型
    │
    ├─ 普通功能機 / 早期智能機 (內存 < 2MB, 無觸屏)
    │      → CLDC 1.1 + MIDP 2.0
    │      → 按需加可選包:MMAPI(音視頻)、WMA(短信)、PIM(通訊錄)、Bluetooth
    │
    ├─ 高端 PDA / 機頂盒 / 車載 (內存 ≥ 2MB, 有觸屏/鍵盤)
    │      → CDC 1.1 + PBP 1.1 / PP 1.1
    │      → 可用 AWT/Swing 開發豐富 UI
    │
    ├─ 工業模塊 / 無屏設備 (路由器、電表、傳感器)
    │      → CLDC 1.1 + IMP-NG (JSR 228)
    │      → 無 UI,專注網絡管理、數據採集
    │
    └─ 智能卡 / SIM 卡 / 安全元件
           → Java Card (獨立平台,非 J2ME 子集)
           → 极精簡 API,專注安全邏輯、APDU 通信

開發環境檢查清單

  • 確認目標設備支持的 CLDC/MIDP 版本 (廠商開發文檔或 System.getProperty() 運行時檢測)
  • 確認必需可選包是否預裝 (如 MMAPI、WMA、JSR 75)
  • JAR 大小限制 (舊機型 30-64KB,新機型 100KB-1MB+)
  • 堆內存限制 (影響圖片緩存、數據結構設計)
  • 線程數限制 (影響網絡並發、後台任務設計)
  • 簽名需求:訪問受限 API (網絡、文件、PIM、短信) 必須簽名獲取 Trusted 域

總結

J2ME 不是單一技術,而是Configuration (硬件基線) + Profile (垂直 API) + 可選包 (橫向擴展) 的組合。明確目標設備能力 → 選擇最小充分技術棧 → 按需引入可選包,是高效交付、最大化兼容性的核心策略。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved