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

J2ME 體系架構深度解析:JVM、配置、Profile 三層核心模型

     編輯:J2ME

J2ME 架構的四層視角

主流文獻常將 J2ME 架構劃分為三層:JVM、配置、Profile。若加入可選包與底層 OS,則形成四層模型(自下而上):

  1. OS 層:裝置原生作業系統
  2. JVM 層:Java 虛擬機實現(KVM / CVM)
  3. 配置層:最小核心類庫 + VM 能力定義(CLDC / CDC)
  4. Profile 層:面向垂直領域的 API 擴展(MIDP、Foundation Profile 等)

前三層(JVM + 配置 + Profile)構成 J2ME 完整運行環境。

JVM 層:兩大虛擬機實現

虛擬機全稱目標裝置特點
KVMKilobyte Virtual Machine手機、PDA、傳呼機等極度受限裝置極致精簡、功能較弱、千字節級足跡
CVMCompact Virtual Machine可視電話、POS、車載導航等較大嵌入式裝置含動態編譯器、效能較強、需 2MB+ 儲存 + 512KB+ 運行記憶體

KVM 是 CLDC 參考實現;CVM 是 CDC 基礎。兩者皆為標準 JVM 的縮減版,支援「一次編譯、到處運行」的核心關鍵。

配置層:CLDC 與 CDC 雙軌制

CLDC(連線受限裝置配置)

  • 目標:CPU/記憶體/電源/頻寬皆受限的小型嵌入式系統(<512 KB 總記憶體)
  • VM:KVM
  • 核心限制:無浮點、無檔案 I/O、無 AWT
  • 典型裝置:傳統功能機、低階 PDA

CDC(連線裝置配置)

  • 目標:記憶體 ≥ 2 MB、32 位處理器、電源相對充足的裝置
  • VM:CVM
  • 核心優勢:支援浮點、完整 J2SE 網路、反射、序列化、檔案系統、ClassLoader、本地執行緒
  • 典型裝置:智慧型手機、高階 PDA、車載、POS、機頂盒
  • 包含所有 CLDC 定義的類與介面

Profile 層:MIDP 為 CLDC 旗艦

MIDP(Mobile Information Device Profile)

專為 CLDC 裝置設計,定義行動裝置專屬 API:

  • 生命週期管理:startApp()、pauseApp()、destroyApp() 三狀態
  • 事件處理機制:命令監聽、按鍵事件、指標事件
  • 高階 UI:Form、List、Alert、TextBox 等
  • 低階 UI:Canvas、Graphics、Game API(MIDP 2.0+)
  • 持久化存儲:RMS (Record Management System)
  • 網路連線:GCF (Generic Connection Framework) 支援 HTTP、Socket、HTTPS、SSL

HelloWorld 快速驗證 MIDP 機制

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet {
    private Display display;
    public void startApp() {
        display = Display.getDisplay(this);
        Form form = new Form("Hello");
        form.append("Hello, J2ME World!");
        display.setCurrent(form);
    }
    public void pauseApp() {}
    public void destroyApp(boolean unconditional) {}
}

總結

J2ME 架構以「JVM 適配硬體 → 配置定義最小公倍數 → Profile 滿足垂直需求」的分層設計,實現了在極度異構的嵌入式裝置上的一致性開發體驗。理解三層邊界與依賴關係,是跨裝置移植與問題診斷的關鍵。

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