分类:
2008-09-09 12:37:51
到目前为止,大部分人都已非常熟悉 2平台,以及 Sun如何把 技术分成三个版本 (标准版、袖珍版以及企业版),Sun 在1999年6月时推出了 Java 2袖珍版 (J2ME)来满足消费电子和嵌入设备的需要。J2ME是为了那些使用有限的能源、有限的网络连接 (常常是无线连接)以及有限图形用户界面能力的设备开发的。它最初的目标是 16位或 32位处理器,16 MHz时钟频率, 512K或更少内存的设备。乍一看之下, J2ME就像一个没有绑定明显主题的松散的应用程序接口和技术规范。我们想通过说它不是什么东西的方法来描述它,它不是一组用于台式机 Java应用程序规范,如果你再观察仔细一些,你会发现所有的 J2ME组件都围绕一个中心,这些中心被称为configuration(配置 ,Sun的市场营销资料也称它们 design centers,设计中心),它们中间的每一个都是用于消费电子和嵌入设备的特别的类。
Connected limited device configuration(有限连接设备配置,简称 CLDC ) 这个配置定义了 Java应用程序接口以及支持手持设备的技术,就像 Sun的文档中所描述的那样, " devices that you hold in your hand(你握在手中的设备) " Palm序列手持设备可能是这一领域的设备的最好的例子,特别是它有开发 CLDC的功能以及 Palm设备运行期系统可用。 Connected device configuration(连接设备配置 CDC ) 这个配置定义支持象 Sun文档中所说, " devices that you plug into plug into the wall(你插入墙的设备)的设备的应用程序接口和技术,这样的设备的一个例子可能就是机顶盒。
这两种配置不同的地方就在于它们应用于的装置的能力, CLDC设备的处理器能力有限 (与台式机系统比较 ),并且器大小一般也只在128 KB到 512 KB之间, 与此同时, CDC系统就不同了,它可能有 32位或 64位处理器,以及有限的容量,不过它的下限也得超过512K. 它遵循的原则就是,每个不同的能力硬件的配置都将被不同的虚拟机支持。 基于 CDC的系统使用一个功能强劲的虚拟机,而基于 CLDC系统的使用 KVM (我过会儿会介绍)。
每个配置代表一种低水平的,基本的应用程序接口,在这两个相似基础之上是 profile用于特殊设备的额外的应用程序接口。
我想通过看一张来自SUN提供的文档中的图表 (参见图 1 )来解释这其中的关系。
图一解释 配置和简表的体系结构 J2ME的体系结构被横向地分成三层,纵向分成两部分。配置包括一个控制配置核心类的虚拟机, 具体的 简表位于每个配置之上。
J2ME现在定义两个配置, Connected Device configuration(连接设备配置 CDC )和限制性更强的 Connected Limited Device Configuration (有限连接设备配置)。 简表的实现是 Java应用程序接口的一个集合,用于适应被定义配置的应用程序接口提供的服务,简表是一个完整的运行环境,一个在简表上执行的应用程序不需要额外的支持类。
J2ME没有定义满足这两种配置的标准化用户接口,Sun也承认现在的消费设备多种多样,用户界面也各不一样,所以定义一个可用于所有用户的界面是一场失败的战争。 J2ME中的用户界面定义在简表中。