我们将从定义 J2ME 开始,从最简单的J2ME 是什么开始讲起。然后讨论它的总体架构并学习 J2ME 目标设备。作为架构讨论的一部分,我们将提供有关简表和配置的概述。同时我们会简要介绍打包和配置 J2ME 应用程序过程中的一些注意事项。
J2ME 是什么? Sun Microsystems 将 J2ME 定义为“一种以广泛的消费性产品为目标的的高度优化的 Java 运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统。”
自从 1999 年 6loper Conference 上声明之后,J2ME 为小型设备带来了 Java 语言的跨平台功能,允许移动无线设备共享应用程序。有了 J2ME,Sun 已经使 Java 平台能够适应集成了或基于小型计算设备月在 JavaOne Deve的用户产品。
J2ME 总体架构 J2ME 使用配置和简表定制 Java 运行时环境 (JRE)。作为一个完整的 JRE,J2ME 由配置和简表组成,配置决定了使用的 JVM,而简表通过添加特定于域的类来定义应用程序。
配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。我们将在 J2ME 配置一章中详细讨论配置。
简表定义应用程序;特别地,它向 J2ME 配置中添加特定于域的类,定义设备的某种作用。我们将在 J2ME 简表一章中深入介绍简表。
下面的图表描述了不同的虚拟机、配置和简表之间的关系。它同时把 J2SE API 和它的 Java 虚拟机进行了比较。虽然 J2SE 虚拟机通常被称为一种 JVM,但是 J2ME 虚拟机、KVM 和 CVM 都是 JVM 的子集。KVM 和 CVM 均可被看作是一种 Java 虚拟机 -- 它们是 J2SE JVM 的压缩版,并特定于 J2ME。
配置概述 配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。虽然还可能在将来定义其他的配置,但当前 J2ME 存在两种配置:
1、连接限制设备配置 (CLDC) 特别与 KVM 一起用于内存有限的 16 位或 32 位设备。这是用于开发小型 J2ME 应用程序的配置(虚拟机)。(从开发者的角度来看)它的大小限制让它比 CDC 更有趣、更具挑战性。CLDC 同时还是用于开发绘图工具应用程序的配置。 Palm 电脑便是一个运行小应用程序的小型无线设备的示例。我们将在本转体的后续文章中深入介绍 CLDC。
2、连接设备配置 (CDC) 与 C 虚拟机 (CVM) 一起使用,用于要求内存超过 2 兆的 32 位体系结构。互联网电视机顶盒便是这类设备的一个示例。虽然稍后我们将在 CDC API 一章中简要介绍 CDC,但它并不在本教程的范围内。
简表概述 简表定义了您的应用程序所支持的设备类型。特别地,它向 J2ME 配置添加了特定于域的类来定义设备的某种作用。简表建立在配置的顶部。已经为 J2ME 定义了两种简表:KJava 和移动信息设备简表 (MIDP),它们也被建立在 CDLC 上。这两种简表适用于小型设备。
有一种纲要简表,您可以在它的上面创建自己的简表,这种纲要简表也称为基础表,可供 CDC 使用。然而,在本教程中,我们只重点介绍建立在 CLDC 顶部,适用于小型设备的简表。我们将在后面的文章中讨论上述这些简表,还会使用 KJava 和 MIDP 建立一些示例应用程序。
J2ME 目标设备 使用 CLDC 开发的 J2ME 应用程序的目标设备通常具有以下特征:
可供 Java 平台使用的 160 到 512 千字节的总内存
功率有限,常常是电池供电
网络连通性,常常是无线的、不一致的连接并且带宽有限
用户接口混乱,程度参差不齐;有时根本就没有接口
一些 CLDC 支持的设备,包括无线电话、寻呼机、主流个人数字助手 (PDA),以及小型零售支付终端。
依照 Sun Microsystems,CDC 的目标设备通常具有以下特征:
使用 32 位处理器
2 兆字节或更多可供 Java 平台使用的总内存
设备要求的 Java 2 “蓝皮书”虚拟机的全部功能
网络连通性,常常是无线的、不一致的连接并且带宽有限
用户接口混乱,程度参差不齐;有时根本就没有接口
一些 CDC 支持的设备,包括常驻网关、智能电话和通讯器、PDA、管理器、家用电器、销售网点终端以及汽车导航系统。
J2ME、J2SE 与 J2EE 之间的比较
下面的图表描述了支持 J2ME 应用程序的设备,同时说明了 J2ME 适合 Java 平台之处: