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

J2ME 基礎架構深度解析:CLDC、MIDP、KVM 與類庫邊界完整圖解

     編輯:J2ME

J2ME 分層架構

+-----------------+  應用層:MIDlet
|     MIDlet      |
+-----------------+  Profile 層:MIDP (UI、RMS、網路、多媒體)
|      MIDP       |
+-----------------+  Configuration 層:CLDC (核心類庫、KVM、GCF)
|  CLDC 核心 API  |
|       KVM       |
+-----------------+  裝置層:專用硬體與作業系統
|   專用硬體      |
+-----------------+

兩大 Configuration 比較

特性CLDC (Connected Limited Device Configuration)CDC (Connected Device Configuration)
目標裝置手機、PDA、呼叫器(電池供電、記憶體 128-512KB)機頂盒、車載系統、網路電視(接市電、記憶體 >512KB、32/64位處理器)
虛擬機KVM (K Virtual Machine)CVM (Compact/Connected/Consumer VM)
核心類庫java.lang、java.util、java.io 子集 + javax.microedition.io (GCF)含 CLDC 全集 + 反射、JNI、浮點、最終化、弱引用、完整 I/O、完整錯誤處理
不支援特性浮點、finalize、弱引用、JNI、反射、線程組、守護線程、使用者自定義 ClassLoader、大部分 Error 子類幾乎完整 J2SE 1.3 子集

CLDC 類庫精簡對照

  • java.lang:保留 Object、String、Thread、System、Runtime、基本型別包裝類、Math、異常體系(Error 僅保留 OutOfMemoryError 等極少數)。
  • java.util:從 47 類精簡至 10 類(Vector、Stack、Hashtable、Enumeration、Calendar、Date、TimeZone、Random)。
  • java.io:保留 Stream/Reader/Writer 基礎類、DataInput/Output、PrintStream,移除檔案系統相關類。
  • javax.microedition.io:通用連接架構 (GCF),統一入口 Connector.open() 支援 HTTP、Socket、Datagram、Comm、File 等協議。

類檔驗證機制:預驗證

源碼 → javac → .class → preverify → 預驗證後 .class → 下載裝置 → KVM 內驗證器 (線性掃描 StackMap) → 解譯執行

預驗證將堆疊映射資訊嵌入 class 檔,大幅降低裝置端驗證運算量,適應資源受限環境。

MIDP 定位

MIDP (Mobile Information Device Profile) 建構於 CLDC 之上,提供 UI (javax.microedition.lcdui)、持久化 (javax.microedition.rms)、應用生命週期 (javax.microedition.midlet) 等高階 API,構成完整手機應用開發平台。

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