(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf_第1页
(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf_第2页
(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf_第3页
(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf_第4页
(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于j2me的移动应用系统的研究与开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着i n t e r n e t 和移动通信技术的迅速发展,使用户随时随地通过移动终端上网成 为可能。j 2 m e 为嵌入式和移动应用开发提供了完美的解决方案。使用j 2 m e 技术进行移 动应用程序的开发已经成为主流和首选。 本文主要研究了j 2 m e 平台的体系结构和特点,分析了j 2 m e 的关键技术,研究如何 把j 2 m e 技术与移动应用开发相结合以开发出高效实用的移动应用程序。本文还深入研 究了w a p 协议及其在移动应用开发中的作用。在此基础之上设计并实现了基于j 2 m e 的 移动话费查询系统。该系统总体上采用三层架构,其中移动客户端完全基于j 2 m e 体系 结构。实现了使用移动终端查询包括话费详单在内的所有话费信息。真正做到了可以 随时随地查询所需的话费信息,突破了目前只能利用计算机上网查询话费详单的现状。 本系统还很好的解决了移动客户端分屏显示大量数据信息的问题。 论文最后逐一实现了基于j 2 m e 韵移动话费查询系统三层架构中的每一层,展现了 它们的运行效果和相互通信的过程。展望了j 2 m e 技术在移动应用领域的前景。 关键词:移动话费查询 j 2 m ep i a t f o r mw a pc ii e n t s e r v e r a st h er a p i dd e v e l o p i n go ft h em o b i l ec o m m u n i c a t i o nt e c h n o l o g y , i th a sb e c a m e p o s s i b l et h a tt h ec u s t o m e ra c c e s si n t e r n e ta n y t i m ea n da n y w h e r e j 2 m eh a sp r o v i d e dp e r f e c t s o l u t i o nf o rt h ed e v e l o p m e n to ft h ee m b e d d e da n dm o b i l ea p p l i c a t i o n i th a sb e c a m e m a i n s t r e a ma n dp r e f e r r e dt od e v e l o pt h em o b i l ea p p l i c a t i o np r o g r a mb yj 2 m et e c h n o l o g y n ed i s s e r t a t i o nh a sr e s e a r c h e dt h ea r c h i t e c t u r ea n dt r a i to ft h ej 2 m ep l a t f o r m a n a l y z e d t h ek e yt e c h n o l o g yo ft h ej 2 m e , r e s e a r c h e dh o wt oc o m b i n et h et e c h n o l o g yo fj 2 m ew i t h t h ed e v e l o p i n go fm o b i l e a p p l i c a t i o n ,s o t h a t d e v e l o p i n gm o b i l ea p p l i c a t i o np r o g r a m e f f i c i e n t l ya n du s e f u l l y a l s o t h ed i s s e r t a t i o nr e s e a r c h e dt h e ,a pp r o t o c o ld e e p l ya n dt h e f u n c t i o ni tu s e di nm o b i l ea p p l i c a t i o nd e v e l o p m e n t ,d e s i g n e da n dr e a l i z e dt h em o b i l ep h o n e f e ei n q u i r i n gs y s t e mb a s e do nj 2 m e a saw h o l e3 - t i e ra r c h i t e c t u r ei s a d o p t e di nt h e s y s t e m a m o n gt h es y s t e m t h em o b i l ec l i e n tt e r m i n a li s c o m p l e t e l yb a s e do nj 2 m e a r c h i t e c t m e i th a sr e a l i z e di n q u i r i n ga l lt h ep h o n ef e ei n f o r m a t i o ni n c l u d i n gt h ed e t a i lb i l l u s e db yt h em o b i l ec l i e n tt e r m i n a l l i v eu pt oi n q u i r ea l lt h en e e d e dp h o n ef e ei n f o r m a t i o n a n y t i m ea n da n y w h e r e ,b r e a k t h r o u 【g ht h ec u r r e n ts t a t eo fi n q u i r i n gt h ed e t a i lp h o n ef e eb i l l c a no n l yb yt h en e t w o r kc o m p u t e r t h es y s t e mh a sa l s os o l v e dt h ep r o b l e mo f d i s p l a yag r e a t d e a lo fi n f o r m a t i o nb yt h es e p a r a t es c r e e no ft h em o b i l ec l i e n tt e r m i n a l f i n a l l y , t h ed i s s e r t a t i o nr e a l i z e de v e r yl a y e ro ft h e3 一t i e ra r c h i t e c t u r eo ft h em o b i l e p h o n ef e ci n q u i r i n gs y s t e mb a s e do nj 2 m e r e v e a l e dt h er u n n i n ge f f e c ta n dt h ep r o c e s so f i n t e r c o m m u n i c a t i o n e x p e c t e dt h ep r o s p e c to ft h ej 2 m et e c h n o l o g ya tt h ef i e l do fm o b i l e a p p l i c a t i o n k e yw o r d s :m o b i l ep h o n ef e ei n q u i r i n gj 2 m ep l a t f o r m w a f c l i e n t s e r v e r 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,基于j 2 m e 的移动应用系统的研究 与开发是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中 已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的 作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标 明。本人完全意识到本声明的法律结果由本入承担。 作者签名:拉叁盏趔z 年竺月垄日 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学硕士、博士学位论文版 权使用规定”,同意长春理工大学保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本入授权长春理工大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等 复制手段保存和汇编学位论文。 作者签名:猃垒奎至翌z 年堡月堑日 指导新签名:叁趣迎年堡月丛日 第一章绪论 1 1 论文研究背景 i n t e r n e t 和无线通信这两者都是在过去几年中发展最迅速的技术领域之一。两者 有效融合而产生的无线i n t e r n e t 使消费者越来越不满足于仅仅通过个人电脑来访问 i n t e r n e t 。通过随身携带的无线终端设备访问i n t e r n e t 已经成为消费者新的需求方向。 无线i n t e r n e t 革命正在使无线终端设备从以语音通信为主、功能相对固定的设备, 转变成与i n t e r n e t 相结合的、功能可扩展的、具有强大数据处理能力的新型设备。这 些设备要能够动态下载新的软件,还要能够运行原始设备制造商之外的第三方开发的 软件。这就需要定义和标准化一个主要面向第三方应用程序开发人员的,无线应用程 序开发环境,该环境必须具备安全性、可移植性、跨平台、开放性等条件“1 。 j 2 m e 正是在这种条件下应运而生的。j 2 m e 的出现对以上问题提供了完美的解决方 案。它把j a v a 平台的以网络为中心和平台不可知的特性移植到有限存储器和有限处理 器的设备。j 2 m e 技术将一大批设备( 从服务器到台式机和移动设备) 集中到一种语言和 一种技术之下。虽然这些设备的应用不同,但j 2 m e 技术为这些不同点起到了桥梁的作 用,使原本致力于单一领域的开发人员能将其技能发挥到跨越不同设备和应用的领域。 j 2 m e 提供了h t t p 高级i n t e r n e t 协议,使移动智能终端能以c l i e n t s e r v e r 方式直接 访问i n t e r n e t 的全部信息,不同的c l i e n t 访问不同的文件,此外还能访问本地存储 区,提供最高效率的无线交流。j a v a 的跨平台将允许一个程序可以在不同的设备上运 行。 j 2 m e 提供了一个共同的平台,让程序开发人员能够专注于程序的本身,而不用花 太多的时间和各种截然不同的目标平台打交道,真正实现“w r i t eo n c e r u na n y w h e r e ” 的理想。可以预计,在未来的几年内支持j a v a 的手机将成为人们生活不可缺少的一部 分。 利用j a v a 编写手机上的程序也有缺点,最主要的是程序运行效率的问题,但是随 着硬件技术的发展,效率上的问题最终将可以忽略。而且s u n 在设计j 2 m e 的时候也采 取了很多措施来加快j a v a 程序在手机上的运行速度( 例如预先审核机制) 。 与j 2 m e 竞争的主要技术是b r e w ( b i n a r yr u n t i m ee n v i r o n m e n tf o rw i r e l e s s ,无 线二进制运行环境) ,是高通公司推出的c d m a 网络“无线互联网发射平台”上增值业 务开发运行的基本平台。它提供一个高效、低成本、可扩展和熟悉的应用程序执行环 境,着重开发可无缝植入任何实际手持设备的应用程序。虽然b r e w 与j a v a 并非完全 对立的技术,由于b r e w 与高通以及c d m a 的结合过于紧密,而g s m 的普及率又远远超 过c d m a ,因此导致支持b r e w 的移动终端比较缺乏,这也是制约b r e w 增长的主要因素。 几乎占领了9 0 的c d m a 芯片市场份额的q u a l c o m m 也宣布在其c d m a 的芯片中提供对 j 2 m e 的支持,这也将加速j 2 m e 向c d m a 领域的渗透。 1 2 论文研究现状 1 2 1j 2 m e 技术发展现状 当j a v a 平台发展到j a v a2 的版本以后,为了适应不同级别计算机硬件的开发需 要,j a v a 平台形成了三个主要分支: j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ( j 2 e e ) :是一个适合分布式的、多用户、 企业级应用系统运转的平台。它以j 2 s e 为基础,增加了处理服务器端计算的功能。 j a v a2p l a t f o r m ,s t a n d a r de d i t i o n ( j 2 s e ) :主要针对成熟的台式机市场。 j a v a2p l a t f o r m ,m i c r oe d i t i o n ( j 2 m e ) :为了支持像p d a 、手机等小型的嵌入式 或移动设备而推出的一系列的技术和规范的总称。 j 2 m e 要支持的硬件平台也有很大差异,其中有比较高端的设备,如电视机的机顶 盒、网络电视等;也有比较低端的,如手机、寻呼机等。因此为了满足不同硬件的开 发要求,j 2 m e 规定了c o n f i g u r a t i o n 的概念,c o n f i g u r a t i o n 对不同级别的硬件在所 使用的j a v a 虚拟机和基础a p i 集合方面做了规定。于是,对于高端的设备,采用 c d c ( c o n n e c t e dd e v i c ec o n f i g u r a t i o n ) ,所用的j a v a 虚拟机称为c n | l ;对于低端设备, 则采用c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) ,所用的j a v a 虚拟机为k v m 。 c d c 和c l d c 仅仅是对各类设备中最具共性的配置提供了基本的功能集合。但是, 实际应用中,不同的设备之间存在着很大的差异。因此,在c o n f i g u r a t i o n 的基础上, 又提出了p r o f i l e 的概念。p r o f i l e 规定的内容,是针对某一类设备所制订的规范和 a p i ,有了p r o f i l e 以后,才真正有了可以建立一个可运行j 2 m e 应用程序的完整环境。 m i d p ( m o b i l ei n f o r m a t i o nd e v i c ep r o f i l e ,移动信息设备简表) 以c l d c 为基础,它 是第一个制订完成的p r o f i l e ,也是第一个可供使用的j z m e 应用程序运行环境。 m i d p 出现最早,也发展最快,在本文中也仅讨论j 2 m em i d p 应用程序的开发。 2 0 0 2 年1 0 月,j c e 推出了m i d p 2 0 的规范,和m i d p i 0 相比,它大大加强了对用 户界面、多媒体和游戏功能、网络连接功能的支持,同时将o t a 应用程序下载包括到 规范中来,另外还为无线信息设备提供了端到端( e n d t o e n d ) 的安全机制嘲。 1 ,2 2 目前国内话费查询系统现状 目前手机越来越普及,由于其体积小,可随身携带,已经逐渐成为人们日常生活 中的主要通迅工具,而手机话费的查询一直是广大消费者最关心的问题之一,特别是 当消费者对话费结算产生质疑时,话费详单的查询显得尤为重要。 目前中国移动和中国联通所提供的手机话费查询方式主要有以下六种: 1 、营业厅查询 用户到中国移动或中国联通的营业厅查询,可以查询包括详单在内的各种话费信 息。 2 、电话查询 2 1 8 6 1 和1 0 0 1 0 分别是中国移动和中国联通的话费自动查询热线。用户只要使用自 己的手机拔打相应电话,按电话提示音进行相应操作,即可查询话费。 3 、上网查询 用户只需要登录移动或联通的官司方网站,输入用户名和密码即可查询月帐单、 详单、余额、缴费历史等信息。 4 、心查询 用移动手机的内置“移动梦网”功能通过g p r s 上网,然后选择“话费查询”,就 可查询月帐单、余额等信息。 5 、短信查询 中国移动用户直接编辑短信,发送“h f ”到1 6 8 。查询别的月份发送“h f + + 两 位数的月份”蓟1 6 8 即可, 6 、邮寄帐单查询 先拿身份证到营业厅登记,填好姓名、手机号码和邮寄地址,之后每月就可收到 上个月的话费帐单。 以上六种方式中,只有“营业厅查询”和“上网查询”可以查询手机话费详单, 其中营业厅查询需要用户本人到中国移动豹营业厅查询,而“上网查询”则需要一台 能上网的计算机,用户还必须懂得计算机的基本操作,使用户查询话费详单受到一定 限制。针对以上问题,本文实现的“移动话费查询系统”提出了“用手机查询话费详 单”的方案,使用户能够通过随身携带的手机上网查询话费详单、短信详单、g p r s 上网详单、月帐单等所有的话费信息,真正达到随时随地查询的目的。 1 ,3 论文研究内容和意义 1 3 1 论文研究的内容 本文的研究内容总体上分为四大部分: 第一部分:主要阐述了j 2 m e 的概念,详细介绍了j 2 m e 体系结构,c o n f i g u r a t i o n s 的概念,将嵌入式设备分为c d c 和c l d c 两大类的原因,分类标准和这样划分的目的。 c l d c 的核心类库、安全机制和预审核机制。p r o f i l e 的概念,m i d p 所包含的核心类库, m i d l e t 的概念和m i d p i e t 程序的生命周期。o t a 程序下载的机制。 第二部分:主要介绍了w a p 协议的目标,作用和内容,展示了w a p 协议的体系结 构和应用模型,阐明了移动终端连接i n t e r n e t 的步骤和中间过程。根据目前移动终端 主要以g p r s 方式连接i n t e r n e t 的现状,详细介绍了w a p 在g p r s 上的实现过程和w a p 协议栈各层的具体功能划分。 第三部分:设计并实现了基于j 2 m e 的移动话费查询系统。 首先,提出了系统的总体设计目标和总体架构,确定了系统总体上采用基于w a p 协议的c s 模式,包括移动客户端和服务器端两大部分,其中移动客户端基于j 2 m e 体 3 系结构。确定了系统的功能目标,能够实现几乎所有移动网上营业厅的功能,其中最 重要的是用移动客户端实现话费详单的实时查询。确定了移动客户端和服务器端所要 完成的任务和采用的相关技术。分析并比较了移动客户端和服务器端通信可以使用的 三种通信协议,并最后确定采用s o c k e t 协议。提出了通信过程中可能出现的中文乱码 问题的解决方案。 其次,给出了系统三层架构中每一层的详细设计。列出了系统所有8 张表的表结 构,给出了相关字段的计算公式。给出了业务逻辑层和用户界面层的类结构,以及程 序详细的实现过程。 最后,提出了系统的开发环境配置,并在此基础上完成了系统的程序设计,展示 了程序运行效果。 第四部分:对本系统及j 2 m e 技术做出了总结和展望。 1 3 2 论文研究的意义 无线互联是悄然发生的革命:在无线通信领域,从模拟网络到数字网络,手机也 向体积小型化、功能复杂化方向发展,并且价格不断降低而为广大消费者所接受。另 一方面互联网也发展到了一个新阶段,从轷珊革命到电子商务时代,个性化、移动性 成为日益增长的需求,无线通信和互联网的结合是不可避免的趋势。 全球所有的移动运营商都把像j a v a 程序这样的数据业务看作是部署第三代移动通 信的关键,不管是哪个运营商都认识到无线数据业务是新的利润源泉,中国移动和中 国联通在建设网络的同时都及时开展数据业务,并且把目光投向j 2 m e ,可以看到j 2 m e 将在移动互联网甚至移动商务中扮演重要角色。 包括n o k i a 、m o t o r o l a 在内的,超过6 0 家公司直接参与了c l d c l 1 和m i d p 2 0 规 范的开发,这些标准也已被无线工业界广泛接受和采用。自从c l d c l 1 和m i d p 2 0 标 准公布以来,j 2 m e 技术已经受到了越来越多的软件开发商的关注和重视,j 2 m e 在游戏 领域也取得了很大的成绩,但是基于j 2 m e 的成功应用,特别是用户定制的应用却不多, j 2 m e 技术的潜力远远没有发挥出来,本文正是从实际应用的角度出发,把j 2 m e 技术应 用到实际使用非常广泛的话费查询领域,使每个移动设备持有者都能够真正享受到无 线j a v a 技术的最新标准化成果。由于中国目前移动用户的数量庞大,居世界首位,移 动终端的硬件性能又不断提高,所以本系统的实现具有很大的应用价值和前景。同时 也必将给j 2 m e 技术带来新的活力”1 。 1 ,4 论文的组织形式 本文主要研究了j 2 m e 体系结构及关键技术,详细介绍了如何运用j 2 m e 技术开发 移动应用程序,在此基础之上设计并实现了基于j 2 m e 的移动话费查询系统。本文的具 体组织形式如下: 第一章:绪论 4 主要介绍论文的研究背景,研究现状,研究内容和意义,组织形式。 第二章:j 2 m e 体系结构及关键技术的研究 主要研究j 2 m e 体系结构及关键技术,包括c d c 和c l i x 3 、m i d p 、j a v a 虚拟机等。 第三章:w a p 技术的研究 主要介绍了w a p 协议的体系结构以及w a p 协议在g p r s 承载网络上的实现原理。 第四章:移动话费查询系统的设计 提出了移动话费查询系统的总体设计目标及总体架构,并对移动话费查询系统的 三层架构分别进行了详细设计。 第五章:移动话费查询系统的实现 完成了移动话费查询系统的移动客户端和服务器端的程序设计和部署,展现了系 统运行效果。 第六章:总结与展望 对系统进行了总结,展望了本系统和j 2 m e 的应用前景。 5 第二章j 2 m e 体系结构及关键技术的研究 2 1j 2 m e 简介 j a v a 语言的前身是o a k ,它是s u nm i c r o s y s t e m s 公司专门为消费类设备开发的编 程语言,但它很快被用作常规编程语言今天我们所熟知的j a v a 语言。它几乎是伴 随着互联网而发展起来的,它的理念“一次编写,到处运行”符合互联网自由、开放 的特征。 今天,不止是桌面上的电脑,手中的电话、汽车中的通信设备、家中的冰箱、洗 衣机等都将连入互联网,这是一个移动的互联网。j z m e ( j a v a 2 平台微型版) 就是j a v a 程序在这些连接设备上的执行平台和开发环境,其基本思想和j 2 s e 类似,就是在各种 设备上安装适合它的j a v a 虚拟机,应用程序则在虚拟机之上运行。 j a v a 本来就是为了嵌入式系统而生,1 9 9 0 年1 2 月,s u n 公司内部由j a m e sg o s l i n g 、 p a t r i c kn a u g h t q n 以及m i k es h e r i d a n 成立了一个叫做g r e e nt e a m 的小组。g r e e nt e a m 小组的主要目标,是要发展一种新架构,而这种架构必须能够在消费性电子产品作业 平台上运行,现在我们普遍认识的p d a 、手机或是信息家电( i a ) ,都是属于这种架构的 目标平台。虽然在1 9 9 9 年,j a v a 被分割成j 2 m e 、j 2 s e 、j z e e ,所以有了j 2 m e 这个名 词的出现。但是j a v a 并非1 9 9 9 年才开始发展嵌入式系统上的应用。其实,j a v a 本来 就是为了嵌入式系统而发展的一种架构。即使目前大家多半将j a v a 的应用聚焦于企业 上的j 2 e e 应用。但是严格来说,j 2 m e 才是j a v a 真正“回归本心”的领域。 s u n 公司将j 2 m e ( j a v a2m i c r oe d i t i o n ) 定义为“一种以广泛的消费性产品为目 标的、高度优化的j a v a 运行时环境”。j 2 m e 是s u n 公司为嵌入式开发所定义的一个框 架,由一系列标准的规范组成。所以j 2 m e 是一系列技术规范的总称,而不是单一的规 范。 j 2 m e 的所有技术标准都由j c p ( j a v ac o m m u n i t yp r o c e s s ,j r v a 社区过程) 制定, j c p 是一个开放的国际组织,主要由j a v a 开发者以及被授权者组成,职能是发展和更 新j a v a 技术规范、参考实现( r i ) 、技术兼容包( t c k ) 。j a v a 技术和j c p 两者的原创者 都是s u n 计算机公司。 j c p 维护的规范包括j 2 m e 、j 2 s e 、j 2 e e ,x m l ,o s s ,j r i n 等。组织成员可以提交 j s r ( j a v as p e c i f i c a t i o nr e q u e s t s ) ,通过特定程序以后,进入到下一版本的规范里 面。 j 2 m e 使用配置( c d c 或c l d c ) 和简表( p r o f i l e ) 定制j r e ,一个完整的j r e 由配置 和简表组成,配置决定了所使用的j v m ( 可能是c v m 或k ) ,而简表通过定义特定的 类来为应用程序提供功能上的支持,一个简表定义了设备所提供的a p i 集合。例如; c l d c 规范目前分为v 1 0j s r3 0 ,v 1 1j s r1 3 9 ;c d c 规范目前分为v 1 0j s r3 6 , v 1 1j s r2 1 8 ;m i d p 规范目前分为v 1 0j s r3 7 ,v 2 0j s r1 1 8 。 6 2 2j 2 m e 体系结构及关键技术的研究 j 2 m e 用于为信息家电市场提供应用服务,这些计算技术和应用在如何分布方面需 要很大的弹性,需要这种弹性的原因如下: 当前存在有很大数量的设备类型和硬件配置。 l 、设备技术是持续发展的。 2 、当前存在的应用和特征有很大程度上的不同。 3 、应用和能力有改变和成长的要求( 通常是不可预知的) ,以满足消费者的未来需 求。 从最经济、最基本的需求到比较复杂并不断增长的需求,用户的需求是不一样的, 为了满足消费者和嵌入式市场这种弹性和定制需求( 常规需求) ,j 2 m e 体系结构采用模 块化、可扩展性设计。j 2 m e 技术这种模块化和可扩展性是通过一个3 层软件模型来实 现的,这个3 层软件模型构建于设备本地操作系统之上。 1 、j a v a 虚拟机层。这一层是针对设备本地操作系统定制的j a v a 虚拟机的实现,支 持特定的j 2 m e 配置。 2 、配置层。配置层对用户来说是能见度不高的一层( 比较透明) 。但是对简表的实 现却非常重要。它定义了某一类设备所用的j a v a 虚拟机和j a v a 类库的最小集合,这类 设备代表了某一特定水平市场,在某种程度上,配置定义了这一范围内能应用于所有 设备的j a v a 平台功能和类库的“最小公分母”。 3 、简表层。对用户和应用开发者来说,简表层是能见度最高的层。它定义了能够 应用于某一类设备上的a p i 的最小集合,这一类设备代表了一定的垂直市场。简表都 是在某一特定配置基础之上的实现,针对某一简表开发的应用程序可移植到任何设备, 只要此设备也支持这个简表。另外,一个设备可以同时支持多个简表。在j 2 m e 设备 中,j a v a 虚拟机的实现和构建于虚拟机之上的配置规范联系十分紧密,它们一起代表 了某一种类设备的基本能力。而更进一步的设备分类上的区别是通过简表层所提供的 a p i 规定的。为了满足更多新的、激动人心的应用的需要,简表可以通过扩充类库来 增强自己的功能。 图2 1j 2 m e 体系结构 7 j e m e 最基本的规范制定在j s r 一6 8 ( j a v a 规范编号第6 8 号) 中,在此规范里定义了 j 2 m e 的技术架构。根据此规范,j 2 m e 由三种类型的规范堆栈而成,分别是 c o n f i g u r a t i o n s ( 配置) 、p r o f i l e s ( 简表) 以及o p t i o n a lp a c k a g e s ( 可选包) 。这三种类 型的规范定义由其它的规范所定义。j z m e 体系结构如图2 1 所示: 在最底层的是移动设备的主机操作系统,目前主要有s y m b i a n ,w i n d o w sm o b i l e , l i n u x ,p a l m 四大手机操作系统。s y m b i a n 公司是由诺基亚、摩托罗拉、西门子等几家 大型移动设备制造商共同出资组建的合资公司,专门研发手机操作系统。s y m b i a n 操作 系统在智能移动终端上拥有大量的应用程序以及强大的通信处理能力,它有一个非常 健壮的核心:强大的对象导向系统、企业用标准通信传输协议以及完美的s u nj a v a 语 言支持。w i n d o w sm o b il e 包括p o c k e tp c 、s m a r t p h o n e 以及p o c k e tp cp h o n e 三大平 台体系。此系列操作系统功能强大,具备音频播放、视频文件播放、上网冲浪、m s n 聊天、电子邮件收发等功能。w i n d o w sm o b i l e 是在w i n d o w s 操作系统上变化而来的, 它们的操作界面非常相似,因此,采用此操作系统的手机方便易用。由于w i n d o w s m o b i l e 本身对资源的巨大吞噬作用,所以在能耗方面w i n d o w sm o b i l e 系统要明显逊于 其他操作系统。l i n u x 手机操作系统是由计算机l i n u x 操作系统“变化”而来的。l i n u x 操作系统具有稳定、可靠、安全等优点,有强大的网络功能。l i n u x 凭借其自由、免费、 开放源代码的优势,已经得到众多知名厂商的支持。p a l m 操作系统是由p a l m 公司自行 开发的,并授权给h a n d s p r i n g 、索尼和高通等设备厂商。p a l m 是一种3 2 位的嵌入式 操作系统,主要运行于移动终端上。这种操作系统是一种更倾向于p d a 的操作系统。1 。 c o n f i g u r a t i o n 规范中定义了硬件所必须具备的能力,例如:硬件至少具备多少 r o m 、r a m ,c p u 的时钟周期最少应该是多少,连接网络时频宽至少要多宽。 c o n f i g u r a i o n 规范之中定义了一组低级的a p l ,这代表j a v a 至少必须提供的低级功能, 这组低级的a p i 就是核心类库的子集合。由于消费性电子产品的差异性极大,s u n 认 为对于不同硬件特性的电子产品,应该有不同的设计规格,因此c o n f i g u r a t i o n 针对硬 件的数据处理能力、存储容量、网络连接能力和用户输入输出设备将这些电子产品区 分为不同的类。目前已经定义出来的c o n f i g u r a t i o n 有两种,分别是c d c ( c o n n e c t e d d e v i c ec o n f i g u r a t i o n ) 与c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) ,前者包含的设 备对硬件资源的支持较大,例如:网络电话、s e t t o pb o x 、车用计算机等,后者则可以 涵盖一般的个人移动设备,如手机及p d a 等。c o n f i g u r a t i o n 除了定义硬件支持程度之 外,还定义了对j a v a 语言所支持的程度、对j a v av i r t u a lm a c h i n e 所支持的程度和对核 心类库所支持的程度。 在c o n f i g u r a t i o n 之上的规范称为p r o f i l e 。p r o f i l e 针对各种不同机器的特性定义了 高级a p i ,这些高级a p i 通常都是与其它平台不相关的扩充类库。这些高级a p i 决定 了该种机器上j a v a 程序的撰写方法,比方说移动通信设备( 手机、p d a 等) 上j a v a 程序 的撰写方式,以及能够调用的a p i 都定义在m i d p ( m o b i l ei n f o r m a t i o nd e v i c ep r o f i l e ) 之中。 8 o p t i o n a lp a c k a g e ( 厂商选择性实现包) 是指这是一组和其它规范( 或a p i ) 没有任何依 存性的类库,如果厂商愿意提供这样的功能给程序员( 通常是因为硬件具有充分的能力 可以完成规范之中所制定的功能) ,就会将这组类库实现出来,程序员也可以利用这些 类库开发出功能更多的应用程序州”。 2 3j v m 、c v m 和k v m 2 3 1j j ( j a v av i r t u a lm a c h i n e ,j a v a 虚拟机) 是s u n 公司的j a v a 程序设计语言的基 石。它是j a v a 技术的组成部分,是一个抽象的计算机,在实际的计算机上通过软件模 拟来实现。j a v a 虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应 的指令系统。使用一台虚拟机实现一种程序设计语言是很普通的。 j a v a 语言的一个非常重要的特点就是与平台的无关性。而使用j a v a 虚拟机是实现 这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的 目标代码? 而引入j a v a 语言虚拟机后,j a v a 语言在不同平台上运行时不需要重新编译。 j a v a 语言使用j a v a 虚拟机屏蔽了与具体平台相关的信息,使得j a v a 语言编译程序只需 生成在j a v a 虚拟机上运行的目标代码( 字节码) ,就可以在多种平台上不加修改地运行。 j a v a 虚拟机在执行字节码时。把字节码解释成具体平台上的机器指令执行。 j a v a 虚拟机不识别j a v a 程序设计语言,它只识别一种特殊的文件格式,即c l a s s 文件格式。一个c l a s s 文件包含j a v a 虚拟机指令( 或者b y t e c o d e s ) 和一个符号表以及 其他的辅助信息。 j a v a 虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收 集堆( g a r b a g e c o l l e c t e d h e a p ) 、一个方法区域。这五部分是j a v a 虚拟机的逻辑成份, 不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。 在j 2 m e 中有两类虚拟机:c v m ( cv i r t u a lm a c h i n e ,c 虚拟机) 与k v m ( kv i r t u a l m a c h i n e ,k 虚拟机) 。虚拟机层( v i r t u a lm a c h i n e ) 基于宿主操作系统,按照某一种配 置,实现了j a v a 虚拟机。c d c 配置对应的虚拟机是c v m ,c l d c 配置对应的虚拟机是k v m 。 这两类虚拟机都是j v m 的子集,在功能上都是j v m 的缩减版。这两类虚拟机的适用范 围并不相同,简单地说,c v m 的功能比k v m 功能更为强大。开始的时候,c v m 代表c o m p a c t v i r t u a lm a c h i n e ,但是后来s u n 的工程师认为这有可能与k v m 相混淆,因此现在c 并 不代表特定的含义。c v m 除了支持标准j 2 s e 虚拟机的所有特性外,还支持许多嵌入式 系统需要的特性,更适合于在资源限制条件下运行,移植性很强”“。 2 3 2c v m c v m 是结构紧凑的、面向消费设备、工作于连接环境中的虚拟机,专为消费电子和 嵌入式设备而设计的。它占用空间小,采用了最新的虚拟机技术,保持了适合嵌入式 设备的特征:强的可移植性、适合实时操作系统、确定性、空间效率高等。c v m 允许设 9 备把j a v a 线程直接映射到本地线程,能够在实时操作系统之外运行j a v a 类,把这些 嵌入式特征和先进的虚拟机功能结合起来,如精确的存储系统、垃圾收集、快速j a v a 同步等。最后,c v m 支持所有的j a v a 2 平台1 3 版虚拟机特征,以及用于安全、弱引用、 j n i 、r m i 和j v m d i 的类库捌。 c v m 主要特征 ( 1 ) 存储系统 c v m 体现了以下高级的存储系统特征: 精确性 小的垃圾收集平均暂停时间 虚拟机与存储系统完全分离 插入式垃圾收集器 分阶段垃圾收集 ( 2 ) 可移植性 c v m 是用c 语言实现的,只用了少量汇编语言。此外c v m 包含丰富的、文档完备的 移植层,它支持实时操作系统,对不易实现的地方支持多移植选项,目的是减少移植 工作量,从而能快速实现链接。 ( 3 ) 快速同步 c 使用观察机制实现了通常情况下尽可能快的同步,在这种观察机制下j a v a 程 序中绝大多数锁操作是非竞争的。因此,c v m 只使用很少的几个机器指令就能执行大多 数同步操作,而不用消耗底层操作系统额外的锁资源。 ( 4 ) 只读类 c v m 能够与动态加载的类一起,运行预加载的、大多数只读的类,从而提供了更快 的启动时间、更少的分割、更多的数据共享,并且能够在r o m 之外执行字节码。 ( 5 ) 支持本地线程 在机器指令范围内,c v m 支持本地线程和任意的线程抢占。它具有彻底的内部同步, 能处理精确的垃圾收集( g c ) ,并且在本地线程抢占的情况下正确处理同步。 ( 6 ) 较小的类占用空间 c v m 对类的存储空间占用需求相当小,不管是动态加载类还是只读类。与传统的 j d k 相比,类的存储空间大约减少了4 0 9 6 ,而与p e r s o n a l j a v a 应用环境相比大约减少 了1 7 。 ( 7 ) 支持j a v a 2 平台1 3 版 c v m 完全支持j a v a 2 平台1 3 版的v m 规范及类库,包括对弱引用、映射、序列化、 j n i 、r m i 和j v m d i 的支持,此外还精简了j a v a 2 平台的安全a p i 函数及j a v a 平台调试 器架构。 ( 8 ) 堆栈的使用 c v m 的特征决定了较少的本地堆栈使用空间,这是通过对v m 代码的静态分析获得 的。在代码中可能出现循环的地方静态分析代替了本地堆栈检查,以发现和避免本 地堆栈溢出。 ( 9 ) 启动和关闭 c v m 能够在单地址空间操作系统中( 如实时操作系统) 完全地关闭和重启,不需要处 理模型的支持,能完全清除所有分配的存储空间,停止所有线程而没有任何资源遗漏。 ( 1 0 ) 接口 c v m 支持扩展的、详细定义的接口,组件问的接口( 如垃圾收集、类型系统、锁和 解释器) 都有清晰的定义,完全分割且有翔实的文档。与以前的p e r s o n a l j a v a 虚拟机 相比,更易于在c l g i 中增加新的功能“”。 2 3 3k v m k v m 是用于j 2 m e 平台最小的虚拟机,并且是用于c l d c 配置的虚拟机。可是j 2 m e 应用程序并不一定非要使用k v m ,j 2 m e 技术可以使用任何虚拟机,不过至少应当有k v m 这样的功能。 为了满足基于k v m 的设备一般只有狭小的内存空间和有限的处理能力的事实,k 使用e 语言编写( 它不是现有的张改进以后的产品) 。此外,k v m 是模块化的,也就是 说,它是由模块构建的,当某个模块实现了预先设定的目标后,就可以很容易地把这 一模块卸载。可选的模块包括:大的数据类型( 1 0 n g 、f l o a t 和d o u b l e ) 、多维数组、 类文件验证等。 k v m 的本地界面以轻便性为原则构建,所以在k v m 中任务切换不依赖硬件产生的记 时器中断,因此在这种意义上来说不是抢先式。任务切换发生在虚拟机执行了一个预 设编号的字节码之后。并且,k v m 的无用单元收集利用一个标记清扫( m a r ka n ds w e e p ) 算法来实现无用单元释放。因此,对象引用是直接的,就像标准j a v a 一样。 除了虚拟机以外还有许多可用的执行环境,在小型设备中,虚拟机必须要么被扩 展,要么在附加工具协助下提供一个更加完整的运行期环境。k v m 一个可选的附件就是 j a v aa p p l i c a t i o nm a n a g e r ( j a v a 应用程序管理器,简称j a m ) 。j a m 的工作就是处理 下载、安装、执行和卸载c l d c 设备上的应用程序的细节问题,因为资源有限,在c l d c 设备上有可能不存在这些功能。j a m 也处理更新安装应用程序的操作。 k v m 是一个紧凑的、可移植的j a v a 虚拟机,专用于小型的、资源受限的设备, 比如蜂窝电话、寻呼机、个人组织机、移动互联网设备、p o s 终端、家用电器等。 k v m 设计的高级目标是生成尽可能小且完整的j a v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论