最近在学习如何将J2ME移植到嵌入式Linux平台,在网上找了很多资料,现整理如下,方便日后移植。
一、相关概念
J2ME是Java 2标准版本的微型版本。支持各种各样的消费类产品和嵌入式设备,如移动电话、PDA、互联网可视电话、数字机顶盒、车载娱乐和导航系统、网络交换设备以及信息家电等。J2ME是为了那些使用有限的能源、有限的网络连接(通常是无线连接)以及有限图形用户界面能力的设备开发的。它最初的目标是16位或32位处理器,16M 时钟频率,512KB或更少内存的设备。J2ME用配置(Configuration)来封装虚拟机。配置由一个虚拟机和一组支持的核心API组成。配置层上面是配置文件(Profile)。在一个配置上面可以有多个不同的配置文件。配置文件是在配置的基础上进一步细分一组特定设备,并定义一组支持这类设备的类库。鉴于应用J2ME的硬件平台有着较大的差异,所以根据硬件的差异分成两类:CLDC(Connected Limited Device Configuration)与基于其上的Foundation Profile和Personal Profile,以及CDC(Connected Device Configuration)与基于其上的MIDP(Mobile Information Device Profile),如图一所示。
┌──────────┐┄┄┄┄┄┄┄
│MIDlet │ 应用程序
├──────────┤┈┈┈┈┈┈┈
│ MIDP │ proflie层
├─────── ── ┤┄┄┄┄┄┄┄
│J2ME核心API │ configuration层
├──────────┤ CLDC
│ KVM │
├──────────┤┈┄┄┄┄┄┄
│特定的硬件 │
└──────────┘
图一 J2ME的CLDC & MI