(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf_第1页
(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf_第2页
(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf_第3页
(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf_第4页
(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于J2ME的手机平台的实现与研究(1).pdf.pdf 免费下载

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

文档简介

基于j 2 m e 的手机平台的实现与研究 摘要 随着移动通讯业务的飞速发展和互联踟、计算机等支撑技术的日渐成熟,手 机类设备正向着智能化、个性化、刚络化发展。可是现有手机设备使用专用操作 系统,软件开发速度慢,且无动态加载应用程序的能力,远远不能满足对手机软 件只益膨胀的需求。为了能够切实解决需求的多样性和手机软件平台的问题,推 动手机软件业迅速发展,j 2 m e 是s u n 公司继j 2 s e 、j 2 e e 之后推出的j a v a 微型 版,主要面向手机等资源受限的消费类设备。j 2 m e 为这些设备提供了无线开放 的j a v a 平台,众多的内容和应用提供商可以开发基于j a v a 的各种内容和应用。 而手机用户则可以通过支持j a v a 功能的手机终端,使用多种全新图形化、动态 化和个性化的移动增值服务。j 2 m e 由于其特有的平台无关性、网络连接、安全 性等优点,一经推出,就成为研究的热点。到目前为止,对j 2 m e 的应用和产品 方面的研究已经如火如荼,但在j 2 m e 的核心方面除了s u n 公司推出的参考实现 外还没有其他深入研究。这给我们的研究工作留下了很大的空间。写作本文的目 的就是希望能够对我国j 2 m e 的核心研究作出一定的贡献。 在这篇文章中我们先对基于j 2 m e 的手机平台发展与现状进行了较深入的 分析,可以看出j 2 m e 在众多的手机平台中独树一帜,有其无可比拟的优势和特 点以及目前j 2 m e 发展中出现与其他平台结合共同提供服务的一种趋势。文章还 在介绍了j 2 m e 相关知识的基础上详细地研究了j 2 m e 中的关键规范:c l d c 规 范和m i d p 规范,c l d c 规范和m i d p 规范相结合共同为手机类设备提供j a v a 平台的各种优良技术和特性,特别是网络与安全特性。 然后文章重点阐述了如何设计并实现了o r l 系统。该系统有如下几个特点: 严格遵循c l d c l 1 规范;是c l d c 规范的c l e a nr o o m 的实现;采用层次化、模 块化的设计:同时支持w i n d o w s 平台和l i m l x 平台等等。系统的设计与实现包 括虚拟机的设计与实现、核心功能的设计与实现、输入输出功能的设计与实现、 实用工具的设计与实现以及网络框架的设计与实现。 基于j 2 m e 的于机、卜台的实现与研究 为了验证o r l 的正确性,我们还设计并编写了t e s t l e t 测试程序和其他一些 集成测试程序,并用它们对o r l 进行了单元测试和集成测试。在确认其正确的 基础上对o r l 的性能进行了一系列的测试和调优工作。最后得出的e e m b c 基 准测试数据表明我们的o r l 性能得到了大幅提高,基本达到我们的目标。也为 j 2 m e 核心的实现提供了一条可能的途径。 在文章的结尾部分,对全文的进行了总结,并展望了今后的研究方向。 关键字j 2 m e ,c l d c ,m i d p ,j a v a 手机, 圾收集器,即时编译器,m a u v e ,e e m b c , o r p ,o r l ,o r p m e ,虚拟机,垃 性能测试,性能优化 基于j 2 m e 的手机平台的实现与研究 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fm o b i l es e r v i c ea n ds u p p o r t e dt e c h n o l o g ys u c ha s i n t e n e ta n dc o m p u t e rs c i e n c e ,m o b i l ed e v i c e sc o m et ob em o r ei n t e l l i g e n t ,m o r e i n d i v i d u a la n dc o n n e c tw i t hn e t w o r k b u t e x i s t i n g m o b i l ed e v i c e su s e s p e c i a l o p e r a t i o ns y s t e m ,t h es o f t w a r ed e v e l o p m e n tp r o c e s si ss os l o w l y , a n di tc o u l d n tl o a d a p p l i c a t i o nd y n a m i c a l l y a l lt h e s ea r et o of a rt os a t i s f yt h en e e do f m o b i l es o f t w a r e s u n p r o m o t e s an e wm i c r ov e r s i o no f j a v a ,w h i c hi sc a l l e dj 2 m e i ti sa f t e rj 2 s ea n d j 2 e e ,a n di n t e n d st os o l v et h ep l o b l e mb e t w e e nm u l t i p l en e e d sa n dl i m i t e dm o b i l e s o f t w a r ep l a t f o r m j 2 m ei st a r g e t e dt oc o n s u m i n gd e v i c ew h i c hh a sl i m i t e ds y s t e m r e s o u c e sa n di t b r i n g san e ww i r e l e s sa n do p e nj a v ap l a t f o r mt ot h ed e v i c e m a n y c o n t e n tp r o v i d e r sc o u l dd e v e l o pa l lk i n d so fa p p l i c a t i o n sb a s e do nj a v a a n dt h e m o b i l ep h o n eu s e ri sp r o v i d e db yn e wg r a p h i c a l ,d y n a m i c a la n di n d i v i d u a lm o b i l e a d d o ns e r v i c e d u et oj 2 m e sf e a t u r e so fp l a t f o r m - i n d e p e n d e n t ,n e t w o r kc o n n e c t i o n a n ds e c u r i t y , i tb e c o m e sah o t s p o t s of a r , r e s e a r c h e so na p p l i c a t i o n sa n d p r o d u c t i o n s o fj 2 m ea r ep r e v a i l i n g h o w e v e r , t h es t u d yo nj 2 m ec o r ei ss t i l ln e a rb l a n k e x c e p t s u n se f f o r t s t h i sa r t i c l ei sm o s t l yc o n t r i b u t e dt ot h es t u d yo f j 2 m ec o r e i nt h ea r t i c l e ,w ef i r s t a n a l y z et h ed e v e l o p m e n ta n ds t a t u s o fm o b i l ep h o n e s o f t w a r e p l a t f o r mb a s e do nj 2 m e w ec o u l ds e e j 2 m ei s g r e a t a n dh a sm a n y a d v a n t a g e so v e ro t h e rp l a t f o r m s b e s i d e s ,i nr e c e n tj a v am o b i l ep h o n e ,w ec o u l ds e e n e wt r e n do fc o m b i n ej 2 m et oo t h e rp l a t f o r m t h i sa r t i c l ea l s ot e l l ss o m ej 2 m e f e a t u r e sa n da r c h i t e c t u r e a f t e rt h a t ,w es t u d yt h em o s ti m p o r t a n ts p e c i f i c a t i o n si n j 2 m e ,c l d ca n dm i d e c l d c t o g e t h e rw i t hm i d pp r o v i d e sg r e a tj a v af e a t u r e s f o rm o b i l e p h o n ed e v i c e s ,e s p e c i a l l y n e t w o r ka n ds e c u r i t yf e a t u r e s a f t e rt h a tt h ea r t i c l ea d d r e s s e so nh o wt o d e s i g na n di m p l e m e n tt h e o r l s y s t e m t h eo r ls y s t e mh a ss e v e r a lf e a t u r e si n c l u d i n g :c o n f o r mf u l l yw i t hc l d c f 基于j 2 m e 的手机平台的实现与研究 s p e c i f i c a t i o n ( v e r s i o n1 1 ) ;a c l e a nr o o mi m p l e m e n t a t i o no fc l d c1 1 ;d e s i g ni n m o d u l e sa n dh i e r a r c h y ;s u p p o r tb o t hw i n d o w sa n dl i n u xp l a t f o r ma n ds oo n t h e s y s t e md e s i g ni n c l u d e sd e s i g na n di m p l e m e n t a t i o no fv m ,c o r ef u n c t i o n ,i o ,u t i l i t i e s a n dn e t w o r kf r a m e w o r k i no r d e rt ov e r i f yo r l ,w ed e s i g na n dc o d eat e s f l e ts u i t ea n do t h e rp r o g r a m s a n dw eu s et h o s es u i t ea n dp r o 掣a n l st ot e s to r l f u l l y t h e nw e d ot h ep e r f o r m a n c e t u n i n g a f t e rw et u n eo r l ,w eg e tb e t t e rs c o r e st h a nb e f o r ea c c o r d i n gt oe e m b c b e n c h m a r k w e r es u r ew eh a v en e w w a y t oi m p l e m e n tt h ej 2 m ec l d cc o r ee x c e p t s u n i nt h ee n do f t h i sa r t i c l e ,w ec o m et oac o n c l u s i o na n dd i s c u s sa b o u tf u t u r es t u d y k e y w o r d s j 2 m e ,c l d c ,m i d p ,j a v a 手机,o r p ,o r l ,o r p m e ,v m g c ,j i t ,m a u v e ,e e m b c ,p e r f o r m a n c et e s ta n dt u n i n g 摹于j 2 m e 的,下机平台的实现与研究 第一章引言 1 1 j 2 m e 的产生 随时、随地、随心所欲地进行通信是人类一个长久的梦想。随着移动通讯技 术的日新月异和互联网技术的突飞猛进,理想与现实的差距正迅速缩小。位于马 萨诸塞州的研究机构s t r a t e g ya n a l y t i c s 报告,2 0 0 3 年全球手机生产商共交付了 5 1 6 亿部手机,较2 0 0 2 年增长了2 0 ,是有史以来的最高水平。而在我国,手 机产业也经历了从无到有,从小到大,从萌芽、起步到快速发展期,产业规模迅 速扩大。据统计,2 0 0 3 年,尽管s a r s 对中国手机市场造成了一定的影响,中 国的手机市场还是继续高速发展,手机整体市场规模达到6 0 4 5 万部。和去年相 比,年增长率为1 0 左右。预计2 0 0 4 年中国手机市场规模在7 0 0 0 万部左右,手 机市场继续保持良好的增长。移动手机产业正成为拉动信息产业行业经济增长的 重要力量。 移动通信业务以前所未有的速度将触角深入到社会生活的各个角落,并在不 知不觉问改变着世界的面貌,改变着人们的生活,成为一种基本而普遍的生活需 要。移动电话已不再是单一话音通信手段,已逐步演变成话音、数据通信、多媒 体的融合体。手机正向着智能化、个性化、网络化发展。可是现有手机设备使用 专用操作系统,软件开发速度慢,且无动态加载应用程序的能力。远远不能满足 对手机软件日益膨胀的需求。为了能够切实解决需求的多样性和手机软件平台的 问题,推动手机软件业迅速发展,s u n 公司继j a v a 标准版、j a v a 企业版之后推 出了j a v a 微型舨,主要是面向所有无线设备,包括小型蜂窝电话、p d a 等乃至 复杂的机顶盒、无线信息家电等。为它们提供跨设备的兼容性、高级的语占功能 以及大量库函数。 1 2 j 2 m e 的研究现状 j 2 m e 平台源于s u n 的j 2 s e 平台,但它在继承j 2 s e 的先进经验的同时日i 入 了许多新的机制,同时适当地裁减以适应环境。j 2 m e 主要是针对消费类电子产 7 基于j 2 m e 的手机、卜台的实现与研究 品设计,这是一个非常大的市场,它覆盖了小到日常手持设备,如智能卡、手机、 p d a ,大到各种计算机设备。j 2 m e 具有许多优良的技术特性,主要包括:可以 在各种支持j a v a 的设备上运行;代码短小;充分利用j a v a 语言的优势;安全性 好;用j 2 m e 实现的应用可以方便地升级到j 2 s e 和j 2 e e 。 当前对j 2 m e 的研究正逐渐成为一个热点,推出j 2 m e 以后,各大知名品牌 手机厂商都积极响应,如m o t o r o l a 、n o k i a 等公司,它们都争先恐后地推出内嵌 j 2 m e 的j a v a 手机,确实在实际的销售中,j a v a 手机也大受欢迎,让j a v a 手机 厂商获益非浅。而且由于j 2 m e 采用的j a v a 语言是跨平台运行的,使得第三方 的软件开发商可以很容易地介入进来开发应用程序,也可以很方便地将应用程序 安装移植到手机上,开发周期大大缩短,而且能支持应用程序的动态下载和升级。 j 2 m e 支持h t t p 协议,这是互联网上通用协议,j a v a 手机能够以客户服务器的 方式直接访问互联网上全部信息。同时j 2 m e 还提供本地存储功能,提供最高效 率的在线交易。总而言之,它有效地解决了手机使用者、网络运营上、软件开发 商和内容提供商四者在移动性服务上的整合和统一;它在开放式的标准平台上, 充分发挥各自竞争优势,提供高速、智能、低成本的增值应用服务:它把信息、 通信、网络、视频、娱乐等各领域有效地集成为一体,从单一手机开拓出一片移 动产业地新天地,将移动服务推向一个新的台阶。 因此,目前对于j 2 m e 的研究可谓是众人拾材火焰高。然而对于j 2 m e 的研 究的比较多的有两方面:一方面是各大厂商获取s u n 公司的授权,将s u n 公司 的j 2 m e 实现移植到自身的手机平台上,另一方面研究的比较多的是j 2 m e 的应 用,如字典、图书、游戏、遥控家电和定时提醒等新应用。而很少对j 2 m e 类库 本身如何实现,如何在移动环境中优化达到最佳性能进行研究。在这个方面除了 s u n 公司做过研究外几乎是空白。对于j 2 s e 和j 2 e e 之类的应用来说,性能优化 可能是一种兴趣的问题,因为环境几乎没有限制,内存和c p u 的处理能力都可 以尽可能地满足系统的要求,而对于j 2 m e 平台的应用来说,这是一个现实的问 题,是一个不得不面对的问题。所以这也成为我们关注的一个问题,正好i n t e l 公司也原意支持我们做这样一个项目。因此我们就有机会以c l e a nr o o m 的方式设 计并实现一个的j 2 m e 的核心。这个项目目前还在进行之中,当前已经设计并实 现了一个o r l ( o p e n r u n t i m el i b r a r y ,开放运行库) 。这个库是j 2 m e 的c l d c 基于j 2 m e 的手机平台的实现与研究 的一个c l e a nr o o m 实现。经过性能的调整,使用e e m b c 基准测试结果,o r l 性能在各方面的指标都优于s u n 的c l d c 实现,我们称之为k v m c l a s s p a t h 。关于 性能调优将在本文后面的第五章将给出具体介绍。 1 3 文章结构 本文首先概述了手机产业的发展现状和发展中需求的变化引发一系列的矛 盾,然后介绍了j 2 m e 的出现解决这些矛盾以及我们从事j 2 m e 研究项目的意义 所在。 接着,在文章的第二章中介绍了当前各类手机使用的软件平台的大致情况以 及当前基于j 2 m e 平台的j a v a 手机的现状。 第三章研究了j 2 m e 中关键技术,这是我们设计和实现的基础所在,也是我 们设计实现o r l 的主要依据。 第四章详细阐述了我们是如何设计并实现o r l 系统。 第五章在设计和实现o r l 的基础上,对o r l 系统进行全面测试和性能调整。 最后,文章在第六章对全文研究课题做了简短的总结并对今后可能进一步的 研究进行了讨论。 基于j 2 m e 的手机、卜台的实现与研究 第二章基于j 2 m e 的手机平台的发展与现状 2 1 手机平台的演变 随着手机产业的渐进发展,手机软件平台也经历了从小到大的变化。 2 1 1 内置软件开发平台 这是指手机厂商根据自身移动设备的特点,内置的专用的手机软件平台,在 出厂前就固化在手机中。在这类软件平台上开发往往使用的是全部n a t i v e 代码实 现。由于手机厂商出于安全方面的考虑,不会将相关的技术公开给开发者,所以 这类平台功能极为有限,开发人员也少。 2 1 2 消息类软件平台 短消息服务是手机之间、手机和服务器之间发送和接收简短的文字信息,短 消息类软件通常发送一条消息到某个代码,这个代码对应于软件应用供应商的服 务器,服务器接收到这条消息,执行一些操作,然后返回一条带有结果的消息给 用户。短消息不是一个特别好的软件平台,因为它仅仅依靠用户输入文字,而随 着手机设备多媒体功能的增强,内容和形式都是非常重要的问题。 2 1 3 浏览器类软件平台 浏览器类软件平台基于w a p ( w i r e l e s s a p p l i c a t i o np r o t o c o l ,无线应用协议) 。 w a p 是x m l 的一个应用,目的是在无线设备如手机上显示i n t e m e t 内容,由于 无线设备的显示区域十分有限,需要将标准的h t m l 加以改造以适应有限的硬 件条件。w a p 本质上是一个静态浏览载体,非常象一个简化的w e b ,是为移动 电话小型和低带宽而专门优化的。w a p 应用一般需要通过连接软件供应商的 u r l ( 通常通过移动运营商的门户网站链接) ,下载并浏览页面,选择菜单超链 接或者通过简单的输入操作,提交数据到服务器,所有的逻辑运算都发生在服务 器端,计算结果通过网络传送到手机端生成页面显示。w a p ( 1 x ) 版本使用独特 的标记语言w m l ,允许用户下载多个页面,即卡片组。新版本的w a p ( 2 x ) 使用 x h t m l 的一个子集,一次传递员工页面并且允许更好地控制显示格式。两种版 本的w a p 都提供一个比s m s 更友好的界面,而且更加便宜。但是只是一个静 j0 基于j 2 m e 的于机平台的实现与研究 态的浏览载体,手机本身几乎不需要做任何处理和运算过程,并且所有数据都必 须通过网络传输,所有操作都是在远程服务器执行的。因此w a p 游戏需要持续 的网络连接,对于文本为主的内容是很适合的,但是对于图形较多的应用就不太 适合,只能提供轻量级的脚本执行能力,安全性问题也没有得到良好的解决。 2 1 4 操作系统平台 随着手机硬件设备能力的提升,部分高端手机可以将一些操作系统平台嵌入 其中。然后使用c c + + 开发软件应用,把程序编译为本地机器代码。编译语言程 序一般来说能够提供更好的用户界面,以及较快的速度。目前基于移动设备开放 的操作系统上可以实现软件开发的技术和平台主要有以下几种: 来自销量占全球手机总额8 0 的手机制造商支持的s y m b i a n o s 、掌上电脑 巨头p a l m 的p a l mo s 、开放的l i n u x 与微软的s m a r t p h o n e 。 【s y m b i a no s 】 s y m b i a n 是由一个由诺基亚、摩托罗拉、爱立信、索尼爱立信、三菱和p s i o n 等公司共同投资成立的合资企业。计算机和移动通信产业的巨头们成立s y m b i a n 的目的就是为了推动通讯器和智能电话进入大众市场,s y m b i a n 公司拥有并开发 了s y m b i a n 操作系统,此操作系统对移动终端、例如通讯器和智能电话。进行了 最优化设计。s y m b i a n o s 是e p o c 在无线信息设备应用的延续,e p o c 是一种操 作系统,用于小型、便携式电脑电话等,并可带无线功能访问其他信息设备。 e p o c 最早由p i s o n 开发,p s i o n 是第一批主要的p d a 厂商。在早期,e p o c 就 加上了无线通信和一个可以扩展应用程序的体系,现在正是由s y m b i a n 进行 e p o c 的授权和开发工作,s y m b i a n 联盟也越来越壮大。 e p o c 是一个3 2 位,多任务操作系统,支持笔输入图形用户界面,它是由 c + + 面向对象方法写成,代码非常紧凑,能装在小的r o m 芯片中。此外,e p o c o s 自带一套软件包,包括字处理、e m a i l 、电子表格、通用数据库、绘图、世界 时钟、v o i c er e c o r d e r 、拼写检查、计算器、通讯程序和w e bb r o w s e r 等。当然 并不是所有应用都用得上那么多功能,e p o c 可以根据手持或者嵌入式设备作相 应裁减。e p o co s 采用的硬件平台是a d v a n c e dr i s cm i c r o p r o c e s s o r ( a r m ) 体 系,这是因为s y m b i a n 权衡之后认为a r m 具有更好的性价比。同时s y m b i a n 提 供c + + 和o p l ( 一种类似b a s i c 的语言) 作为开发工具,从p s i o n 最新的s e r i e s 5 m x 基于j 2 m e 的手机平台的实现与研究 开始支持j a v a 环境。 s y m b i a n 操作系统是用c + + 语言编写并是一个完全面向对象的操作系统。这 使它具有灵活性、有效性,并且拥有代码重用的能力。清晰界定的应用程序接口 ( a p i ) 使得开发团体能够创建易于下载和安装,并能在使用s y m b i a n 操作系统 的终端上运行c + + 的应用程序。s y m b i a n 是事件驱动型而非多线程,这样每个线 程无形中就能节省几千字节的额外丌销。这种事件驱动型的s y m b i a n 操作系统使 得占用处理器和消耗内存的操作,如o s 中的上下文交换( c o n t e x ts w i t c h ) 程序, 可以减少到最小的程度,只需要少至几十个字节的额外开销。 【l i n u x 】 近年来,l i n u x 因其自由、免费、开放源代码,经过来自互联网、遍布全球 的程序员的努力,加上i b m 和s u n 等的支持下,l i n u x 在操作系统市场上异军突 起,服务器版的l i n u x 、桌面版的l i n u x 、嵌入式l i n u x 已经广泛地投入应用, 基于l i n u x 的应用和应用开发渗透到各个领域。l i n u x 具有源代码开放、软件授 权费用低、应用开发人才资源丰富等优点,便于开发个人和行业应用。从应用开 发的角度看,由于l i n u x 的源代码是开放的,有利于开发出硬件利用效率高、功 能更强大的应用软件。有关专家估计,嵌入式l i n u x 将称为未来3 g 手机主流操 作系统之一。国内市场移动智能终端的标准操作系统。 目前有大量的商用和非商用的嵌入式l i n u x 在p d a 和其他手持设备上实现。 l i n u x 对于p d a 、智能电话或者其他设备来说是一个强有力的平台,它可以支持 各种复杂的应用并且大大减少开发的费用。为了适用小的终端装置l i n u x 有很多 版本,目前还没有l i n u x 厂商对重要的组成部分制定标准,比如用户界面、电源 管理和同步。 l i n u x 的特点和优势包括:开放的源代码、标准的a p i 和其他接口、稳定可 靠的平台、高集成度和高性能的网络支持、对处理器和外设的广泛支持、在吞吐 量和实时相应方面出色的性能。 【w i n d o w sg e l w i n d o wc e 是m i c r o s o f t 嵌入式操作系统之一。2 0 0 2 年市场上开始有基于 w i n d o w sc e3 x 的p d a ,w i n d o w sc e 有三种参考设计:p o c k e tp c 、h a n d h e l dp c 和智能电话。第三种设计叫“s m a r t p h o n e2 0 0 2 ”,是基于w i n d o w s c e 3 0 的设计, 上 基于j 2 m e 的手机甲白的实现与研究 基于s m a r t p h o n e 2 0 0 2 设计的手机在2 0 0 2 年下半年面世。w i n d o w s c e 的第四个 版本于2 0 0 2 年一月发布,名为w i n d o w sc e n e t ,利用了w i n 3 2 的a p i 和大量 以前版本中的功能包括支持b l u e t o o t h ;终端模拟;w i z a r d 平台使开发者可以从 大量的配置好的设计中选择,加快开发进程,加强多媒体和互联网浏览功能。 【p a l m o s 】 p a l mo s 是加拿大k a d a kl t d 公司建立在多线程的a m xr t o s ,然而只允 许为a m x 的子集提供单一线程。这非常适合p d a 的风格,一次执行一个应用, 需要整个版本的厂商不得不分别从k a d a k 获得并且根据特定的硬件参考平台 由p a l mc o m p u t e r 进行设计达到优化的目的。由于这个原因,在p a l m o s 中间几 乎没有偏差。s y m b o l ,i b m 和q u a l c o m m 都有核心硬件并且增加功能到基本 的p a l m 终端,但他们不能改变的是c p u 、屏幕和控制芯片。 总而言之:w i n d o w sc e 在集成e x c h a n g eo u t l o o k 和办公室应用、管理和安 全等方面作了很多工作,所有这些功能对于企业用户很有吸引力。对于p a l m 来 说,他的设计目标是信息管理,它的注意力集中在简约、小巧和移动性上。在通 信功能方面,s y m b i a no s 提供了很多已构建好的内置功能。而开放源代码的 l i n u x ,是近年来快速发展功能丰富并且有高看靠性的操作系统。 2 1 5j 2 m e 平台 j a v a 是一种开放的计算机编程语言。j a v a 语言的三大分支之一j 2 m e 专门用 域开发基于消费性电子产品的应用,例如手机、p d a 的应用等等。而无线j a v a 服务等于就是一个开放的平台,众多的内容和应用提供商可以开发基于j a v a 的 各种内容和应用。手机用户则可以通过支持j a v a 功能的手机终端,使用多种全 新图形化、动态化和个性化的移动增值服务。j 2 m e 与台式机上的j a v a 相比还是 有很大的限制,但是它已经极大的提高了移动电话对各种应用的支持能力。它有 比s m s 和w a p 更好控制和交互的界面,并且可以通过无线网络连接到远程服 务器。j a v a 手机的普及,使得它成为目前最好的移动应用环境。 2 2 目前j a v a 手机的发展现状 j a v a 手机就是带有j a v a 功能的手机,随着j 2 m e 标准得到广泛的认可和手 ,3 基十j 2 m e 的手机、l 白的实现与研究 机产业的迅速扩张,各大手机厂商都将j a v a 作为自身手机的一大亮点,但各自 实施j a v a 手机的方案又各有千秋。 2 2 1 独立j a v a 方案 在手机上使用j a v a ,是西门子新款手机的一大卖点。西1 3 子将j a v a 平台应 用于新型的移动电话和智能无线设备,并已推出支持无线j a v a 运行平台的手机。 西门子创新技术将手机与无线j a v a 合二为一,令用户随心所欲追求更多更独特 的手机应用。目前西门子结合了j a v a 技术的手机有3 1 1 8 、3 2 1 8 、6 6 8 8 i 。 2 2 2 l i n u x - i - j a v a 方案 摩托罗拉关注j a v a 在手机上的应用已有时1 3 。早在2 0 0 1 年中,摩托罗拉就 和s u n 一起宣布推出了i 8 5 s 和i 5 0 s x 两款手机。这也是摩托罗拉第一次将结合 了j a v a 技术的手机正式用在商业用途七。在手机中使用j a v a 是摩托罗拉公司的 一个长远战略。同时摩托罗拉鼓励自己的程序员使用j a v a 来开发手机中的游戏 或者商业应用程序等。摩托罗拉结合了j a v a 技术的手机有3 8 8 、6 2 8 8 、t 7 2 0 等。 新型的j a v a 手机把l i n u x 和j a v a 结合在一起。 2 2 3 s y m b i a n + j a v a 方案 对于j a v a 手机,手机巨头诺基亚自然不会放过。现在,诺基亚的7 6 5 0 、7 2 1 0 、 3 6 5 0 都结合了j a v a 技术。诺基亚的3 6 5 0 ,手机使用的是s y m b i a na s ,运行于 其上的应用程序则都是用j a v a 编写的。 2 2 43 g + j a v a 方案 继西门子、摩托罗拉和诺基亚相继推出g s mj a v a 手机后,韩国三星电子不 甘落后,宣布推出3 gj a v a 手机,从而使其手机j a v a 应用进入3 g 应用领域。 总之,j a v a 手机可以让用户进行查询( 包括词典、航班时刻表) 、游戏( 动 作射击、策略类、棋牌类、经营类、网络对战类) 、多媒体( 看电影、浏览图片) 、 辅助( 通讯录、记事本) 。由于j a v a 手机功能如此强大、扩展性又强、下载运行 又十分方便,j a v a 手机在市场中已经渐渐普及。j 2 m e 将成为事实上的标准。 ,乒 基于j 2 m e 的手机丫台的实现与研究 第三章j 2 m e 相关知识与关键技术 3 1 j 2 m e 的语言特性 j 2 m e 采用的是j a v a 语言,j a v a 语言最初就是为了在消费类设备上使用而弓 进的,它有许多有用的特性,使j 2 m e 非常适合在手机之类的平台上使用。 3 1 1 平台无关性 j a v a 技术之所以在网络环境中能够大受欢迎,其关键原因之一就是j a v a 可以 创建不需修改就可以在多种平台上运行的二进制可执行代码。这在网络环境中是 非常重要的,因为网络中互联的通常都是各种各样的计算机和设备。每种设备底 层的硬件和操作系统也各不相同。一个平台上写的程序很难在其他平台上直接运 行。对于j 2 s e 来说,j a v a 平台无关性使j a v a 应用程序可以很少修改,几乎直接 运行在任何支持j a v a 虚拟机的设备和操作系统上。对于j 2 m e 来说,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 虚拟机上,并 提供a p i 供应用程序访问系统资源。不管j a v a 程序如何运行,它只需要和j a v a 平台交互,不需要关心底层的硬件和操作系统。j a v a 程序就可以运行在任何有 j a v a 平台的计算机上。 3 1 2 安全性 j a v a 语言是为了网络环境而设计的,安全性在网络环境中显得尤为重要,为 此,j a v a 在语言和运行环境中引入了多级安全措施。在语言中,j a v a 编译器为安 全性提供的一个主要措施是它的内存分配和引用模型。首先,j a v a 的内存分配不 像c 和c + + 那样由j a v a 编译器来决定,而是延迟到运行时由j a v a 运行系统决定, 内存的布局依赖于j a v a 运行系统所在的软硬件平台的特性;其次,j a v a 没有c 和c + + 意义上的内存单元指针,j a v a 编译器通过符号指针引用内存,符号指针在 基于j 2 m e 的于机平台的实现与研究 运行的时候解释为实际的内存地址,程序员不能强制引用内存指针,也就是说, 内存的分配和引用对于程序员是透明的,这样,程序员就不能够直接进行内存分 配,从而使得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 建立了一个严 密的安全体系。 3 1 3 垃圾收集 用c 和c + + 写软件时,程序员必须非常仔细的处理内存的使用,当一个内存 块不再使用时,就必须释放它,但是,在开发大的软件项目时,要程序员自己管 理内存是非常困难的,而且内存管理不当通常还是造成系统故障和存储空间浪费 的原因之一。为了解决这个问题,在j a v a 中,j a v a 系统内嵌了一个垃圾收集程 序,它扫描内存,自动释放不再使用的内存块,这样一来,程序员就不再需要关 心内存管理问题,编写j a v a 程序就会变得简单,而且减少了程序中因内存管理 而出错的可能性。 3 1 4 运行时检查 有些操作,比如方法调用、i n s t a n c e o f 操作、类型转换、数组操作,在编译 的时候无法确定其正确性,在运行的时候才能够确定它的值。 3 2 j 2 m e 的虚拟机特性 从概念上看,j a v a 虚拟机是一个相象中的、能运行j a v a 字节码的操作平台 基十j 2 m e 的手机平台的实现与研究 是由j a v a 规范定义的抽象计算机。j a v a 技术的核心就是虚拟机,所有的j a v a 程 序在虚拟机上运行。 3 2 1 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 2 m e 的手机平台的实现与研究 于指向当前执行方法的执行环境的指针和用于指向当前执行方法的局部变量的 指针;栈用于提供操作参数、返回运行结果和为方法传递参数等:垃圾收集器用 来收集不用的数据堆;存储区用于存放字节码的方法代码、符号表等。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 虚拟机弹出并抛弃该方法的栈帧。 3 2 - 2 类装载器 类装载器是用于从程序和j a v a 的a p i 中装载类文件的。它不仅仅用于找到 并导入类的二进制数据,也被用来检查导入类的正确性,分配并初始化类变量, 辅助符号引用的解析。而这些都是按照严格顺序执行的: 1 装载( 1 0 a d i n g ) :找到并导入一个类型( 类或接口) 的二进制数据。 2 链接( 1 i n k i n g ) :执行检查( v e r i f i c a t i o n ) ,准备( p r e p a r a t i o n ) 和解析 ( r e s o l u t i o n ) 。 a ,检查:保证导入类型的正确性。 b 准备:为类变量分配内存并把这些内存初始化为缺省值。 c 解析:把类型中的符号引用转换为直接引用。 3 初始化( i n i t i a l i z a t i o n ) :调用j a v a 代码把类变量初始化成合适的初始值。 ,矿 基于j 2 m e 的手机平台的实现与研究 3 - 2 3 垃圾收集 不再被程序需要的对象就是垃圾,在垃圾收集的时候,就应该被扔掉。垃圾 收集也叫做“内存循环”,如果一个对象不再被程序引用,它所占的堆空白j 就可 以被回收,以便分配给新的对象。垃圾收集器必须确定哪些对象不再被引用,然 后释放这些对象占用的空间。 j a v a 虚拟机规范并没有要求垃圾收集,但是在没有发明无限内存之前,大多 数虚拟机实现都是有垃圾收集。垃圾收集可以改善堆碎片。堆碎片发生在正常的 程序执行过程中,新的对象被分配,不再被引用的对象被释放,这样,被

温馨提示

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

评论

0/150

提交评论