随着PDA和手机用户越来越倾向将自己信息存储在自己设备中。对于一个JAVA程序开发者来说,这意味着他必须学习怎么编写手机和PDA这些轻便设备的代码。近来一些研究表明Java在快速增长的手机和无线AD市场中占有重要地位。此外,到2004年将统治这些设备开发平台。
让我们看看J2ME的语言规格,通过这种方式你可能会对开发这种平台产生浓厚的兴趣。
基本要素
J2ME,是Sun对Java的扩展,它被用作编写一些轻便设备的程序以适应用户的需求。比如,手机和PDA。可以预见的是在不久以后,我们可以为我们的家用电器下载一个简单的程序,利用这个程序来操控它们。虽然,现在只是这个语言的发展初期,如果我们按这个思想一直走下去,我们可以使用很多东西,从烤面包到家庭安全设备到其他一些我们可以想到的一切普通项目。
我们清楚的了解为掌机设计程序必须具备多功能性和简单性。多功能性需要这个程序装载到设备以后可以完成不同的功能。简单性则是需要减少用户骨架上的接口,所以,它可以运行在潜在的物理接口上。我们都知道技术变化的工程是多么的快,所以,掌机的程序必须跟上技术的发展。
因为它是Java语言,所以J2ME的规格将遵守Java的规格。并且,它有三个层分别是:配置层,框架层,和虚拟机层,它们堆叠在设备的主机操作系统中。这些层用于开发各种设备。
配置层
配置层为一组设备定义了最小公分母,或者基本功能性。它包括Java语言和虚拟机清晰度和一组支持的类库和API。有两个配置被定义,尽管另外一个也许用不上。当前的配置是:
1 连接设备配置(CDC)这个用来共享,固定连接设备。就好像自动导航系统和网络电视一样,有良好的带宽和巨大的显示能力。
2 连接限制设备配置(CLDC)这个有个人手机连接信息设备组成,它限制用户接口和低内存。CDC是CLDC的扩展集,Sun公司表示在区分产品的线在这层是模糊的。
CDC和CLDC继承了J2SE的功能性,但是你可能会想到由于手机设备大小的限制,它们不是特别精力充沛的。它们包括了java.net, java.io, java.util, java.lang, and java.microedition.io.元素。你也可以引进J2SE的特征。CLDC被设计为操作连网,安全,国际化和核心的Java库。但是浮点型数据不支持,它是为了限制出错处理。
框架层
框架层描绘在配置中各设备的唯一需求。比如,在CLDC配置集中包含了每个设备――POS终端和一个分页程序――分离的框架会被定义。框架包括API和类库,它们被用作从事事件处理,用户借口和应用安装。近来,MIDP为CLDC提供了标准的运行时环境。这个环境允许把新的应用程序和服务动态地部署在终端用户设备上。
虚拟机层
在 K 虚拟机中(KVM),Sun试图提供最小的核心Java代码,让它在资源和内存受限制的情况下可以为设备提供最大的灵活性。利用C语言的可移植性,K虚拟机实现提供至少128KB的内存用来运行虚拟机,类库在配置层被定义,它可以自己应用自己。KVM组件和CLDC配置有很大联系。但是,期盼随着时间过去了,更多的虚拟就和其他配置被执行。JVM规格的限制包括了那些已经列出的CLDC的解释,另外,在Sun 公司的解释文件中,并没有包含支持Java本地接口的文件(JNI),没有用户定义Java水平类装入程序,没有线程群和守护线程,没有类的举例。
准备好了吗?
不计其数的掌机已经装载了J2ME程序,并且以一定的数量在增长。开发者需要学习更深的知识来适应开发此项技术。当然,学习这些小型设备的开发程序是要有个学习过程的。当用户提出他们需要什么并且为这些新设备付款时,开发者必须知道怎么利用简单接口来工作。同时,你可以开始学习更多关于这方面的知识。