<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
自从java问世以来,Sun公司已经成功的将java平台技术推广到台式计算机与服务器。随着移动电话及PDA的日益普及,Sun更致力于将java技术向移动设备这个方向发展.
Sun在1999年6月时推出了Java2袖珍版(J2ME)来满足消费电子和嵌入设备的需要。J2ME是为了那些使用有限的能源、有限的网络连接(常常是无线连接)以及有限图形用户界面能力的设备开发的。它最初的目标是16位或32位处理器,16MHz时钟频率,512K或更少内存的设备。
容易看出,应用J2ME的硬件平台相对于其它平台是有着较大的差异。其实,支持J2ME的硬件平台之间也有很大差异,其中有比较高端的设备,例如:电视机顶盒、网络电视等;也有比较低端的设备,例如:移动电话、寻呼机、PDA等。它们的不同具体体现在,前者是运算能力相对较佳、并且在电力供应上相对比较充足的嵌入式装置,而后者是运算功能有限、电力供应也有限的嵌入式装置。正是为了要满足以上两大类硬件的开发要求,J2ME针对硬件的数据处理能力、存储容量、网络连接能力等规定了Configuration的概念,把上述运算功能有限、电力有限的嵌入式装置定义在ConnectedLimitedDeviceConfiguration(CLDC)规格之中;而另外一种装置则规范为ConnectedDeviceConfiguration(CDC)规格。CLDC所使用的java虚拟机称为KVM,而CDC所使用的则称为CVM。
上一段所说的CDC、CLDC仅仅是对各类设备中最具共性的配置提供了基本的功能集合。但实际应用中,不同的设备之前仍存在着很大的差异。例如,虽然同属于CLDC规格的硬件设备,Palm的屏幕显然比移动电话的屏幕大。于是,J2ME在Configuration的基础上又定义了Profile的概念。Profile是针对某一类设备所制订的规范和API。例如,对移动电话的应用,J2ME定义了一个专门的Profile-MIDP(MobileInformationDeviceProfile);而对于PDA的应用开发,J2ME则也对应的定义了一个PDAP(PDAProfile)。有了Profile以后,才真正有了可以建立一个可运行J2ME应用程序的完整环境。
由上面的讨论可知,在VirtualMachine之上只有一个Configuration,而在Configuration之上可以同时存在数个Profile,如此才能有效的针对各种不同的设备构造一个完善的运行环境。
前面的内容针对J2ME平台的架构规范给了大家一个感性上的认识,也许您还是会有疑问:Configuration、Profile中定义的规范到底是些什么东西?下面,笔者就将精略的列出目前应用最为广泛的MIDP规范中的一些具体内容,虽然它只是J2ME规范中的一个小部分,但也能让您对“规范”二字产生一些理性上的认识!
MIDP规范所规定的特定功能部分包括API和硬件两部分。
1.API部分
l用户界面支持:提供的类程序包是javax.microedition.lcdui。
l网络支持:提供的类程序包是javax.microedition.io。
l数据持续存储支持:提供的类程序包是javax.microedition.rmsi。
l其他例外处理及TiMEr等类的支持。
2.硬件部分
l内存:128KB的稳定内存供MIDP组件使用;8KB的稳定内存供数据持续存储使用;32KB的稳定内存供虚拟机运行时用。
l显示器:屏幕大小为95×54象素,1位色深,屏幕高宽比大约是1:1。
l输入设备:键盘、触摸式屏幕或二者并存。
l网络:提供在有限带宽的情况下,进行双向、无线,但可能是间歇性连通的通信功能。
现在,您是否感觉一切豁然开朗?神秘的面纱已经被揭开,J2ME的庐山真面目已经呈现在了您的眼前……
展望未来,无线化、微型化、网络化的信息交换设备将是IT业发展的主流趋势,这个市场将远远超过家用PC的市场。有关资料表明,到2005年,全球的移动电话将超过14亿部。可以预计,不久以后,汇款、预定机票、购物等电子商务服务也将通过移动商务来得以实现。伴随着移动通信设备深入千家万户,移动信息装置将成为个人的信息平台,正因为如此,移动商务将前景无限,J2ME技术也将迎来灿烂的明天。
<script type="text/javascript">
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>