深入J2ME配置层

Java 2 Micro Edition (J2ME)是建立在一个由profiles,设置设置设备摆设摆设,虚拟机和主持操作系统等部分所组成的标准架构之上的。这些内容组成了完备的J2ME实时运行情况。图A显示了这些部分是若何结合在一路的。J2ME供给了两种设置设置设备摆设摆设:Connected Limited Device Configuration (CLDC)和the Connected Device Configuration (CDC)。这两种设置设置设备摆设摆设以设备的内存footprint为根基面向不合的设备类型。

设置设置设备摆设摆设指定了最小的功能组和相关的Java 虚拟机 (JVM)应支持的Java类库。从观点上讲,设置设置设备摆设摆设层在虚拟机 (VM)的顶端运行,但当你应用一个例如CLDC和CDC的设置设置设备摆设摆设时,你也会涉及到相关的VM,由于二者是慎密相连的。

然而,应该留意的是在J2ME中,设置设置设备摆设摆设并不隶属于一个特定的VM,他可以与其它的VM事情并支持所需的库。例如,CLDC也可以和利用指定根基功能的VM合营事情。关于细节,请见CLDC HotSpot利用虚拟机白页。

为了赞助你理解J2ME设置设置设备摆设摆设层所扮演的角色,我将对CLDC和CDC分手地进行阐述。

CLDC

CLDC是针对少于512KB内存footprint的设备的设置设置设备摆设摆设。CLDC采纳的是KVM,它是高度优化的JVM要领,他针对的是16比特或32比特的微处置惩罚器,160到512 KB内存为根基的低端,收集连接,电池驱动的设备。范例的内存要求是128KB做有来存储KVM和相关的库。更多关于KVM的信息可以从Sun公司的KVM白页中获得。

就收集化而言,CLDC针对的是有限的和间歇性的无线连接设备,所有在J2ME CLDC之上运行的利用软件都应能在其他任何高真个Java VM上运行。当然,这必要CLDC库的支持。CLDC设置设置设备摆设摆设关注于I/O,收集化,安然问题,国际化问题和核心Java库等相关的领域。

与事故处置惩罚,用户和利用法度榜样的互动,利用法度榜样生计期治理等内容相关的领域是由Profile来处置惩罚的。应用界面定义(对付特定的设备,如传呼机,移动电话和PDA)也在Profile层的范围之内,它建立在顶端之上,并应用J2ME设置设置设备摆设摆设。Mobile Information Device Profile (MIDP)是一个J2ME profile,它定义了应用CLDC设置设置设备摆设摆设设备的用户界面相关的规范。

CLDC从J2SE得到绝大年夜多半的类,但一些针对小内存footprint设备的新类并不是从J2SE APIs得到的。关于类从J2SE 做承袭和新CLDC类的详细信息,可参考CLDC规范1.0a版本的6.2和6.3中的内容。Java说话规范中的一些例外是没有浮点支持,没有类实例的完成化支持和有限的差错处置惩罚能力。

在这里提到CLDC HotSpot利用也是具有相关性的,它相称于应用CLDC设置设置设备摆设摆设的设备的KVM中Java VM的调换。根据Sun公司,CLDC HotSpot履行VM是一个高机能的JVM(32位,采纳CLDC v1.0规范)。他在相同的内存footprint上运行时供给比KVM超过跨过一个数量级的更佳的机能。

CDC:完全Java平台

CDC是利用在具有较大年夜内存,分外是2MB以上的设备上的,CDC针对有限和间歇的无线连接设备,CDC与CVM和Foundation profile合营定义了完全的J2ME情况。

CVM是为用户和嵌入设备设计的完全功能性JVM,它支持所有的Java 2 v1.3 VM安然防护,JNI, JVMDI, RMI,弱引用功能和库。本色上说,CVM具有所有一个驻留桌面系统的JVM所具有的功能。

CDC由J2SE中最小的Java数据包组成。Foundation profile由用户设备所必要的维持类库和APIs所组成。是以,假如你事情在一个以CDC为根基的J2ME情况下,你就必要更新你代码以使APIs更新换代。

CDC是CLDC的一个扩展集,以是在两种设置设置设备摆设摆设之间存在着向上的兼容性。CDC和Foundation profile也供给了对应用PersonalJava实时规范开拓的利用法度榜样的完全兼容。

总结

J2ME模式体系使能了不合设备类其余“分外版”Java的创建。跟着越来越多的设备制造商开始吸收J2ME技巧和J2ME设备应用范围的增大年夜,更新的J2ME profiles将获得利用。经由过程为开拓以Java为根基的设备供给一个公共最小化平台,J2ME设置设置设备摆设摆设用布局化的要领使能了这些Java分外版本。

您可能还会对下面的文章感兴趣: