配置指定了最小的功能组和相关的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特别版本。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器