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

追溯 Java ME 技術起源與發展:從 OAK 到 J2ME 架構確立的歷史脈絡

     編輯:J2ME

歷史視角回顧 Java ME 技術演進:OAK 誕生、Java 三版本分立、J2ME 雙 Configuration/Profile 架構確立、kJava 過渡角色、開發工具鏈成熟歷程。

一、Java ME 核心定義

J2ME (Java 2 Micro Edition) 是 Java 2 平台三大版本之一 (與 J2SE、J2EE 並列)。Sun 定義:高度優化的 Java 執行環境,針對消費性電子裝置:蜂巢式電話、可視電話、數位機頂盒、車載導航系統等。

  • 1999 年 JavaOne 大會正式發布
  • 將「平台無關性」帶入小型電子裝置
  • 允許行動無線裝置間共享應用程式

二、設計哲學:拒絕單一系統

原則:「為所有裝置造單一開發系統毫無意義」

→ 將嵌入式裝置分為兩大類:

  1. 受限裝置:運算/電力有限、間歇網路 (手機、PDA) → CLDC
  2. 較強裝置:運算較強、持續電力/網路 (機頂盒、車載、家電) → CDC

三、Configuration:裝置能力基線契約

每個 Configuration 定義:

  • 最低運算能力、記憶體、電力、網路需求
  • 核心類別庫 (J2SE 子集) + 擴展類別庫
  • JVM 規範 (KVM / CVM)

CLDC 核心庫

  • java.lang.*, java.io.*, java.util.* (精簡)
  • javax.microedition.io.* (GCF 連線框架)

CDC 核心庫

  • 包含 CLDC 所有 + float/double/RMI/反射/JNI/檔案 I/O 等
  • 接近 J2SE 1.3 子集

四、Profile:垂直領域功能完善

  • 建構於 Configuration 之上
  • 定義特定裝置的 UI、輸入、持久化、網路等領域 API
  • 五大標準 Profile (見架構對比表)

五、關鍵歷史里程碑

年份事件影響
1990sOAK 語言誕生,針對嵌入式系統Java 靈魂:平台無關、安全、網路導向
1995OAK → Java,乘網際網路浪潮爆發Applet/桌面應用成為主流,嵌入式暫時邊緣化
1997EmbeddedJava / PersonalJava 發布 (Java 1.1)首次正式回歸嵌入式,但碎片化嚴重
1999Java 2 平台三分 (J2SE/EE/ME),J2ME 正式發布建立 Configuration/Profile 雙軸架構,統一碎片化
2000MIDP 1.0 發布功能手機應用爆發期開啟 (諾基亞、索愛、摩托羅拉)
2002MIDP 2.0 發布 (GameCanvas, PushRegistry, HTTPS, WMA)遊戲/商務應用能力大躍進
2003+Optional Packages (JSR 75/82/135/179/184/205...) 陸續標準化藍牙、多媒體、定位、3D、訊息、檔案/PIM 存取標準化
2006Java ME 統一品牌 (J2ME → Java ME)配合 Java SE/EE 命名統一
2008Android 1.0 發布 (基於 Linux 核心 + Dalvik VM)行動開發主流轉移,Java ME 進入維護模式

六、kJava:過渡時期的關鍵角色

  • 早期 Palm KVM Demo 專用 (com.sun.kjava)
  • 提供:Graphics UI、Palm 資料庫、簡易集合、三角函數
  • 應用稱 Spotlet,事件驅動 (penDown()、keyDown())
  • 填補 PDA Profile 標準化前的空白,大量早期教學/開源專案基於 kJava
  • 現已棄用,歷史參考價值大

七、開發工具鏈演進

  1. CLDC/MIDC 參考實作:命令列 javac + preverify + midp 模擬器
  2. J2ME Wireless Toolkit (WTK):整合建置/模擬/封裝/簽名 GUI (KToolbar)
  3. NetBeans Mobility Pack:視覺化流程設計、專案管理、整合 WTK
  4. EclipseME / MTJ:Eclipse 生態整合
  5. 廠商 SDK:Nokia S40/S60 SDK, Sony Ericsson SDK, Motorola CodeWarrior 等

八、總結

Java ME 以 Configuration/Profile 雙軸架構解決嵌入式碎片化,曾統治功能手機時代 (2000-2010)。隨著 Android/iOS 佔據智慧手機主流,Java ME 轉向工業嵌入式、物聯網閘道、車載系統等長週命產品領域。其設計哲學——**針對異質硬體定義最小共同基線 (Configuration),再疊加垂直領域能力 (Profile)**——仍具備通用架構參考價值。

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