系統性梳理 J2ME 技術體系:從架構分層、兩大 Configuration 細節、五大標準 Profile、kJava 歷史地位、到 PersonalJava/KVM/JES 等周邊規範,建立完整知識骨架。


| 包 | 主要保留/刪減 |
|---|---|
java.lang | 保留:Object, String, Math(無浮點), Thread, Exception, System 刪除:Float, Double, ClassLoader, 反射, 最終化 |
java.util | 保留:Vector, Hashtable, Random, Date, Calendar, Enumeration 刪除:Collections 框架大部分、Locale、正則 |
java.io | 保留:Input/OutputStream, DataInput/OutputStream, ByteArrayStream 刪除:File 類、Reader/Writer (字元流)、序列化 |
javax.microedition.io | GCF 連線框架:Connector, StreamConnection, DatagramConnection, CommConnection, HttpConnection |
Connector.open("https://host"); // HTTP
Connector.open("socket://host:port"); // TCP
Connector.open("datagram://host:port"); // UDP
Connector.open("comm:0;baud=9600"); // 序列埠
Connector.open("file:/data"); // 檔案 (視裝置支援)

| Profile | 基礎 Config | 目標裝置 | 核心功能 |
|---|---|---|---|
| MIDP | CLDC | 手機、雙向傳呼器 | 高/低階 UI、RMS、HTTP、Timer、GameCanvas |
| PDA Profile | CLDC | Palm/Handspring PDA | AWT 子集 UI、資料庫、取代 kJava |
| Foundation Profile | CDC | 無 GUI 網路裝置 | 完整網路、無 UI、其他 CDC Profile 基石 |
| Personal Basis Profile | CDC | 簡易 GUI 裝置 | Foundation + AWT 輕量 UI |
| Personal Profile | CDC | 豐富 GUI 裝置 | PBP + 完整 AWT、Applet 支援、取代 PersonalJava |
| RMI Profile | CDC | 分散式嵌入式系統 | Foundation + Java RMI |
com.sun.kjava)penDown() 事件驅動| 規範 | 定位 | 現狀 |
|---|---|---|
| PersonalJava | Web 連線消費裝置、Applet 執行 | 併入 CDC → Personal Profile |
| EmbeddedJava | 固定功能嵌入式、無下載需求 | 不在 J2ME 傘下、無擴展機制 |
| KVM | CLDC 參考實作 VM | 模組化、C 撰寫、非搶先式、標記清掃 GC |
| JavaCodeCompact | 預連結/預載入類別進 VM 映像 | 減少啟動時間與執行時記憶體 |
| JAM (Java Application Manager) | CLDC 裝置 OTA 安裝/更新/回滾管理器 | 處理資源受限環境下的應用生命週期 |
| JES (Java Embedded Server) | 嵌入式伺服器運行時 (服務/服務空間架構) | 核心服務:HTTP、RMI、SNMP、排程、主控台… |
| JavaPhone / JavaTV | PersonalJava 兩大擴展 | 分別針對智慧型手機/機頂盒 |