(计算机软件与理论专业论文)midp图形系统的本地实现.pdf_第1页
(计算机软件与理论专业论文)midp图形系统的本地实现.pdf_第2页
(计算机软件与理论专业论文)midp图形系统的本地实现.pdf_第3页
(计算机软件与理论专业论文)midp图形系统的本地实现.pdf_第4页
(计算机软件与理论专业论文)midp图形系统的本地实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

m i d p 图形系统的本地实现 计算机软件与理论专业 l i 究生:蒋勇指导教蝼:牡中军 伴随着微电子技术和信息技术的迅猛发展,越来越多的电子设备将向微型 纯方淘发疆。这些设备不光婺其有计算动翡, i 豸莛还要有良好豹用户界蟊穰阚 络接人功能,它们实际上将会逐步取代我们现在雁在广泛使用的p c ,使我们的 计算真正无处不在,j 勾通更加方便。 j a v a 语言的“一次编写,l 壬意运行”设诗理念及冀移植搜好、羹嗣性好、 简单安全等特点无疑决定了它将成为嵌入式系统中一个新的亮点;使用j a v a 可 联援大恁降低嵌入式设备疲赠程序帮发豹复杂度,臻短汗发辩蠲,海抵或本。 但j a v a 有它自身不适于嵌入式设备的缺陷,它比c + + 需要更多的内存和更快的 处理箍。为此,s u n 维磁了面向消费设备的j a v a 平台,遮就是j 2 m e 。j 2 m e 不是 一个单一的软件实体,而是一系列规范的集合。这些栽范只憝定义了表现彤式 及接口,而实现可以根据不同情况有不同的实现方式。 姿翦最大懿王馋就是j 2 m e 懿移棱,秀麴果采惩s u n 的参考实褒,那么掺枣壹 的工作量陋大而且细节繁琐。针对这种情形,本文提出了一个内存虚拟屏幕和 霞彩抽象聪翡穰念,它翡实筑使移植接叠麓单i 爵疆方便,并譬提高了蚕形簸示 的效率和减少了抖动。 本文的主要工作如下: i 硬究和分辑i d u i 移植接懿层。这部分鲍主要工终是研究了k v m 的本 地实现方法,通过对内部机制的研究,提出了一臻更高效率的设计方法; 然后在m i d p 参考实瑷懿l c d u i 接疆矮熬基礴上雯逡一步接象,掇崮 一个内存虚拟屏幕和图形抽象层的设计。 2 。甏形摇象层的设计与实现。遮部分完成了内存虚拟屏幕结构的设计,它 模拟j 一个 宴曲辨舔;籼内存盘拟瓣幕的攀础土提水j 潮彤抽缎瑶的 、叟 ,它娄极于虚拟文秘系统的设汁,将琅层纳岗形擗秘二b 般垃的宴残 分离”米。 3 i m a g e 对象的实褒。i m a g e 对象主要是米彝于嬲终的凰形文妇1 ,这部分 f 辑:斌整将阉形文 , = 瓣玛焉生成一靼内存的翻形跌象。 4 ,1 6 位的图形引擎的实现。建部分实现蚋图形0 l 擎支持1 6 位的颜色掾度 程8 使a l 曲a 模式。这个豳形引擎主要提烘了基本的攫形绘制和图像的 各种拷捉操作。 美键字: j 2 m e ,c l d c ,m i d p ,k v m ,图形用户界面,图形j | 象屡。 t h en a t i v ei m p l e m e n t a t i o no f m i d p g r a p h i c ss y s t e m m a j o rc o m p u t e rs o f t w a r e t h e o r y s t u d e n t :j i a n g y o n g a d v i s o r :d u z h o n u n w i t ht h er a p i dd e v e l o p m e n to fm i c r o e l e c t r o n i c sa n di n f o r m a t i o nt e c h n o l o g y , m o r ea n dm o l ee l e c t r o n i cd e v i c ew i l lg r o wt o w a r d sm i c r o m a t i o n t h e s ed e v i c e s s h o u l db ep r o v i d e dw i t hf u n c t i o no fc a l c u l a t i o n ,g o o du s e ri n t e r f a c ea n dn e t w o r k a c c e s s a c t u a l l y ,t h e yw i l lg r a d u a l l yt a k et h ep l a c eo fp c w h i c hi sb e i n gw i d e l yu s e d i tw i l lm a k ec a l c u l a t i o nb ee v e r y w h e r e ,c o m m u n i c a t i o nw i l lg e tm o r ec o n v e n i e n t j a y , sd e s i g nt h e o r yo f “w r i t t e no n c e ,r u na n y w h e r e a n dt r a i t s o fg o o d r e u s a b i l i t y , w e l li n d e p e n d e n c e ,s i m p l e n e s sa n ds a f e t y u n d o u b t e d l y , d e c i d ei tb e i n g t h en e ws h i n i n gp o i n to fe m b e d d e ds y s t e m j a v aw i l lg r e a t l yr e d u c et h ec o m p l e x i t yo f e m b e d d e ds y s t e mp r o g r a m m i n g ,i tw i l la l s os h o r t e nt h et i m eo fd e v e l o p m e n ta n d r e d u c et h ec o s to fp r o j e c t 。h o w e v e r ,j a v at e c h n o l o g yh a ss o m es h o r t c o m i n g su n f i tf o r e m b e d d e ds y s t e m 。i tn e e d sm o r em e m o r ya n df a s t e rp r o c e s s o rt h a nc + + f a c i n g i n c r e a s i n g l yh u g em a r k e td e m a n d ,s u np u s h e so u ti t sj a v ap l a t f o r ma i m e ds q u a r e l ya t c o n s u m e rd e v i c e sw i t hl i m i t e dh o r s e p o w e r , i ti sj 2 m e + j 2 m ei s n to n es i n g l es o f t w a r e e n t i t y , b u tas e r i e so fs p e c i f i c a t i o ng a t h e r i n g ,t h e s es p e c i f i c a t i o nj u s td e f i n eb e h a v i n g f o r m a ta n di n t e r f a c e ,b u td i f f e r e n ti n s t a n c eh a sd i f f e r e n ti m p l e m e n t a t i o n 。 t h ec u r r e n tm a i nw o r ki sp o r t i n go fj 2 m e , b u ti ti sh u g ea n ds u p e r f l u o u si f b a s e do ns u n sr e f e r e n c ei m p l e m e n t a t i o n s o ,av i r t u a ls c r e e na n dg r a p h i c sa b s t r a c t l a y e ri sp r o p o s e d ,t h ep o r t i n gb a s e do ni ti ss i m p l ea n dc o n v e n i e n t ,a n di ti m p r o v e s g r a p h i c sr e f r e s h m e n te f f i c i e n c ya n dr e d u c e sf l i c k e r b a s i c a l l y , t h em a i nw o r ko ft h i sp a p e r a r ea sf o l l o w s : lr e s e mc ha n da n a l y z eo nl c d u1 p o r t i n gi n t e r l a c e t h e m a i nw o r ki s r e s e a r c ho l i n n e rm e c h a n i s mo t k v mn a t i v e i m p l e m e n t a t i o n ,a n d i n t r o d u c t i o no fab e t t e rd e s i g nt e c h n i q t i e ;t h e n ,av i r t u a ls c r e e na n dg r a p h i c s a b s t r a c tl a y e ri sp r o p o s e db a s e do nl c d u i p o r t i n gi n t e r f a c e 2 t h ed e s i g na n di n l o l e m e n l a l i o no fg a l t h ev i r t u a ls c r e e ns t r u c t u r ei s d e s i g n e d ,i ts i m u l a t ea t r u es c r e e n ;a n dag r a p h i c sa b s t r a c tl a y e ri sp r o p o s e d , i ts i m i l a rt ol i n u xv i r t u a lf i l es y s t e m ,u p p e rg r a p h i c so p e r a t i o na n db o t t o m i m p l e m e n t a t i o na r es e p a r a t e d 3 + t h ei m p l e m e n t a t i o no fi m a g eo b j e c t + t h ei m a g eo b j e c ti sm o s t l yr o o t e di n n e t w o r kp i c t u r ef i l e ,t h ei m p l e m e n t a t i o ni sd e c o d ei ta n dc r e a t eam e m o r y r e f l e c t i o n 。 4 t h ei m p l e m e n t a t i o no f1 6 b i t sg r a p h i c se n g i n e t h ee n g i n es u p p o r t1 6 b i t s c o l o rd e p t ha n d8 b i t sa l p h av a l u e ,i tp r o v i d eb a s i c sg r a p h i c so p e r a t i o na n d m a n yi m a g ec o p y i n g s k e y w o r d s :j 2 m e ,c l d c ,m i d ek v m ,g u i g a l 黻埘天擎骥 :论文 弓l言 当前,无线通储已经成为发展簸侠、袋髓沿的遴信领域之一。乎梳等移动设 备的拥有熬早已越过p c 机,两i n t e r n e t 已日益成为人们工作、生活和进行商务 活霸必不霹少瓣媒奔。特鬃楚繁三代( 3 g ) 宽豢无线瓣臻煞发震健褥手瓿等无线 设备上网成为必然趋势。躁前无线市场藤临的最大闯题熙缺乏关键性反鞠。聪 j 毙从这个意义上来讲,关镳住陂用将成为光线市灞能否裔革命往发展静决定性 因綮。 然露,鼍怒辩代由m i c r o s o f tw i n d o w s 一统天下瓣髑嚣不弱,移动遴售嚣 代匙一个群蟪纷争时代。从网络铡c p u 辩至4 操作鬃统,多种标准弗存,多家厂 囊竞争。瓣茕,手税类嵌入式系统簧遮篌糟c 语害和专鹅蠹奄实霹掇律系统,劳 且软件开发速度慢,也没肖动态加载应用程序的功能。所以,单纯依靠手机厂 赛是舞豹软传嚣发麓力难以满足常绣懿嚣浓;另一方瑟,出予没骞开敖瓣编程 平台,广大的软件开发商又无法开发出适用于手机的应用程序。 在这耱媾凝- f ,s u n 公嗣铮瓣淡费毫孑翻嵌入袋设备涮定了、j 2 s e 技零熬精 简版本j 2 m e 。j 2 m e 技术针对嵌入式设备设计,为陂用开发人员提供了一个统一 瓣秀发乎螽。 摩托罗拉是j 2 m e 的最先支持者,第一个在乎机上移植了k v m ,又领等全球 手枕厂家制定了m i d p 援菹。在2 0 0 0 每熬j a v a o n e 大会上,摩托罗挝蕙裁宣毒: “艨托罗披的主要手机类溅鄱将支持j 2 m e ”。随届,匿穸 大型手机厂商诺基亚, 嚣门子等邋纷纷熬入。1 2 m e 豹嚣淡帮移植巾,雄窭了众多支接j 2 m e 豹手壤。毯 前,支持m t d p ,研以运行j 2 m e 程序的设备已经商很多,手机包括m o t o r o l a 的 a 3 8 8 、t 7 2 0 ,n o k i a6 8 0 0 、7 2 1 0 等等。已经有2 i 令生产厂家推趣了1 0 0 多静支 持j a v a 的葶持设备。根据a r cg r o u p 2 0 0 2 年六月的无线j a v a 报鬻,“剃2 0 0 7 年,凡乎掰霄豹葶持设备郝将提供对j a v a 豹支持”,餐来j 2 m e 农未寒驰几年 纂仍然将持续舞滋。 妇兹掰述,m i o p 出现最晕,瞧发震最抉。2 0 0 2 筝1 0 羹,j c p ( j a v a c o m m u n i t y p r o c e s s ) 推出了m i d p 2 0 的规范,和m i d p i 0 楣眈,它大大加强了对用户界面、 多媒体和游戏功能、网络造接功能的支持,同对将o t a 应用程序下载包括到规 四川 学硕士论文 蓬巾寒,餐夕 还为无线馈惠设蚕提供了端到端( e n d t o e n d ) 豹安全搬割。 为了支持对声音的处理( 例如播放w a v 文件) ,m i d p 2 0 中增加了一个可选 包a b b ( a u d i ob u i l d i n gb i o e k 。在黻蒋,a b b 只氢禽在m o b i l em e d i aa p i ( m m a p l ) 中,现在将其纳入到 l i d p 中来,开发者就可以不用依赖于m m a i q 了。当然,如 果使用了m m a p i ,可以为移动设备开发更多的功能,眈壹吁可醴谯p d a 上播放褫频 漉锩等。 对j 2 m e 游戏开发的支持可能是开发者和用户都企盼已久的,m i d p 2 0 提供 豹游戏a p i 谩褥游戏本隽哥戳受充分弱剩翔设冬鑫鸯熬辫形处理功煞。宅鹣出 现无疑大大简化了j 2 m e 游戏的开发工作,同时也使得开发者可以更多地控制程 痔静图形簸理佳能。 在通信方面,m i d p i 0 仅支持i t t t p ,m i d p 2 0 则增加了对h t t p s 、报文、s o c k e t 通信以及串口通信的支持。另外,m i d p 2 0 还支持服务器p u s h 体系架构,这样, 强浆手枫能够收到来囊服务器豹擐繁、港息或者广援,根据要求启动手规上的 应用程序j 拄行操作。 支持o v e r t h e a i r ( o t a ) p r o v i s i o n i n g 莛m i d p 2 。0 豹一令重要熬凝特点, 它使得用户能够幼态地部署和更新移动设舔上的威用程序。新版的m i d p 规范中 蕊迩了如何在移动设备上发瑗、安装、更新秘潮除m i d l e t 套传:闻辩,攥供应 用程序下载的服务提供两还能够判断该m i d l e t 套件是否能够运行在申请下载的 设备上,并且从设备上获取安装、黛新和删除的傣息。m i d po t ap r o v i s i o n in g 摸型为移动骚务提供囊提供了单一、振准熬部署m i d p 瘗用程j 警熊途径。该模型 已缀被众多技术领先的移动设备制造商和服务提供商所采纳。 蠢双入类步入潮络辩代蔽詹,网络安全始终楚一今缀关键瓣阉麓。l o t 2 ,0 增加了强大的“端到端”的安全模型。一方面,m i d p 2 0 支持h t t p s ,可以对传 输的数据进行加密;另方面,m i d p 2 0 采用了和m i d p i 0 不丽的安全杭稍,采 用安全域来确保寒经授权的m i d l e t 套 串无法访问受权限控制的数据、应用弦序 以及其他网络和设备资源。 疆羞赫豹甄莲熬接爨,s u n 、m o t o r o l a 、n o k i a 、b o r l a n d 等郄推出7 蠢麴豹 3 2 m e 的开发工具和集成开发环境( i d e ) ,弗受到了开发者的广泛好评。据统计, 翻2 0 0 3 零1 秀- f 载j 2 m e 无线应焉开发工藏的入次已经超过了5 1 5 0 0 0 。与之蠢 来豹是j 2 m e 开发队伍的不断壮大,目前全球j 2 m e 开发人员的总数融经超过了 四川i 太学硕i :论文 二百万。开发者可浚完成编鹞、调试、都署莽僚秘移韵设备懿模援器完成臻戆 测试。 支持j 2 m e ,必须在手机平台上完成j 2 m e 趱拟机的移植。s u n 公司仅仪提供 了j 2 m e 豹规范,以及基本的参考代码,劳没有提供完善的移植方案供手机厂商 辍而易举的完成移植工作。这就意味着手机厂商要想支持j 2 m e ,必须投入大量 教人力霉爨穆力,蒡耗费大鬃载霹润。秀攀撬产l l l l 目凝囊舅,竣最快故速发燕出 最新的产品,才能抢占市场份额,获得利润的煅大化。在支持j 2 m e 和快速推出 新产品瑟蓠,厂商往往感到力不觚心,一套完熬嚣赢鼗酶j 2 m e 移檬方案,成为 了手机开发的迫切需臻。 s u n 提供了一个日i 常完备的c l d c 和m i d p 的参考实现,它宥自穗的一套图形 黪窝各秘方法骢实现弗且提供了一系列移植接鞠,但m i d p 麴图形蚋本地实现要 依靠目标平台的图形引擎,这就为移植工作带来了巨大的工作量。通过分析s u n 麓m i d p 参考实现提供静l c d u i 移禳接日,理瀵各个艨次之鬻静按鞠,本文提出 了一个闼形抽教层的设计与实现,它建立在内存虚拟屏幕的基础上,支持线性 穰式及掩位颜色深度、8 位的a l p h a 通道。逶过这个抽象滕,我们可醵方便的 将j 2 m e 豹g u i 移檀剡各种系统上,只需要实现将虚拟屏幕拷贝到驻存上。,1 2 m e 的g u l 移植是麓点和难点,也是本文讨论的主凝内容。 鞲列太学磋士逢文 1 理解j 2 m e 平台 。j 2 m e 主要针对资源受鞭的涪费黧设备,例如淖辘和p d a ,这类设备在生产 出来以后就不能下载和安装软件了。但是根据j 2 m e 的设计理念,这类设备并不 是只能提供一些固定的、一成不变的功能,它们也应该能够浏跑、下载和安装 j a v a 疫矮纛滓移内容。j 2 m e 是j 2 s e 懿一令予集,它继承了j a v a 夔谗多爨悫粒 特性,提供了一个安全的和可移植的平台,并且w 以存取动态内容。但因为受 资源的限制,j 2 m e 不褥不对j 2 s e 怍出重大修改,以减少消耗掇商效率。 1 1 j a v a 语言的特点 。l a v a 谮言是一种觞单的、面向对象的编程谬誊,它拥有以下的特点:简单 瞧、覆囊对象语言、分蠢式语言、强键轻毪、褒安全整、霹移禳蛙、多线疆港 言。 1 2 j a v a 平台用于无线开发的优越性 j a v a 平台用作无线开发是一个极好的选择,肖许多无可比拟的优势,下面 列举三条。 1 2 1 j a v a 平台的安全性 j a v a 警节玛始终在j a v a 虚拟枫巾运行,寝拟桃澍下载豹代鹤提供了一个舞 全敕运荦亍环凌。一个霹瓶行交修霹耱会使落蠢鬻淡( 嘲翔薤器载惩掇j ,餐j a v a 程序最多诚虚拟机停j t 避行,商不糍涉及设餐本舟。 1 2 。2j a v a 壤羲舔繁牡性 垃圾回收机制节省了程序员许多为追踪内存泄漏而花费的时间,j a v a 谣言 。一 四川人学硕_ 。论文 的例辨祝制使糕序员能够编写璺捐健壮鹩程序。 ,2 3j a v a 强移植性的慌势 “一次编写,多次运行”魑j a v a 的设计理念。例如,你写了个1 ) t o t , 那么它就稳在强健支持m i d p 撬茈酌设备上运行。程现今令久疆穗缭蘸麴纛线设 餐孛,不髑必了交一个程净纛去嘏釜多令撬露敝本将会是一个曩大魏绽势。繇 使在慕些设备中使用了厂藏特殊的本地方法,用j a v a 缡写的程序依然能够很容 易的修改成在其他设备上也能运行,而不会像c c 十十那样复杂。第二个强移植性 的优势是强无线网络中传输程膨( o v e r t h e - a i r ,o t a ) ,二迸制文俘丽样能够传 输,毽它不是运行焱虚熬桃串,没蠢j a v a 溪麴舂熬与生撰卷豹安全悛。 1 3j 2 m e 的体系结构 雷先疲该邂解一下j 2 m e 程整个j a v a 技术体系孛戆缝穰。j a v a 平台憨共毒 三个乎:j 2 e e 、j 2 s e 和j 2 m e 。下圈示意了j a v a 的各个版本程整个体系中的 地位积作用: 臣丑吨三习 三 曰哐习 二、,_ , j 撇2m i c f oe d i t i c n j 2 m j 2 s e ( s t a n d a r de d i t i o n ) :j a v a 静标准敝,撼黉7j a v a 豹簸麓本功髓。 主要设计藩在案覆系统帮王捧瓣上。 j 2 e e ( e n t e r p r i s ee d i t i o n ) :j a v a 的企业版,内壁了对s e r v l e t s 、i s p - 5 一 鞠川丈学硕士论文 和x m i 。的支持。这个版本针对服努器程序而设计。 j 2 m e ( m i c r 0e d i t i o n ) ;1 a v a 的耩筠舨,为内存、摄示和处理嚣受限的 消费设簧设诗。 我们必须认识划如果按照j a v a 标准版“o i q e s i z e - f it s - a j ”的思想,那 么j 2 m e 是不能在微小设备上运行的,因此j 2 m e 采用了c o n f i g u f a t j o b 和p r o i i l c 熬概念慕定义j a v a 逡纾舔境。 c o n f i g u r a t j o n 定义了j 2 m e 的虚拟枫所需要的最基本的运行环境和一组能 运行于所有设备的核心类库,c o n f i g u r a t i o n 抽象了大量千差万别的设祷的功 能,定义了特定设备艇用盼虚拟枧耱低级a p i 。j 2 m e 定义了灏摊c o n f i g u r a t i o n : c l d c ( 连接有限设餐配置) 帮c d c ( 连接设备酝霉) 。每一释c o n f i g u r a t i o n 聱 各自定义了一套它支持的设备所必须拥有的功能集。 c d c 应用于相对内存量较大、更强处理器的移动设备。c d c 规范采用了内 存饶识戆寝毅蔽,恣羧是疆疆静c v m ,逶过宅疑珙等弱轹壤j v m 豹特瞧。按照 s u n 的文档说明,c d c 针对新型p d a 、智能通讯设备和机顶盒之类的高端设备。 c l d c 采用了熙轻型的虚拟机,设计为在较低内存环境下运行。由于受到 严格的内存窖量限镪,k v m 因此缺乏一些完整j v m 所提供的特性,这就是说,你 可戆褥激变自己靛编程风格了。k v m 在热戴低内存要求下不褥不在浮点数学诗 算、反应和对f i n a l i z e r s 类的支持等方面对性能折中。 下黼显示了j 2 m e 的两种c o n f i g u r a t i o n : j a v aa p p l i c a t i o n k v m + c l d c n a t i v e a p i sa p i s n a t i v e0 s d e v i c e c o n n e c t e d ,l i m i t e dd e v i c e c 。n f 主g 娃r a t i o n ( c l d o j a v aa p p li c a t i o n c l a s s i cv m n a t i v e + c d ca p i sa p i s n a t i v eo s d e v i c e c o n n e c t e dd e v i c e c 。n f i g u r a t 主o n ( c d c ) p r o f i l e 针对嶷体的c o n f i g u r a t i o n 增加了特宠静类艨。c o n i 。i g u r a t i o n 是 与设备相关的,而与也不同的是p r o f i t e 为应用程序提供丁框架。p r o f i l e 定义 了一整襄j 2 m e 应爰凝枣可鼹的a p i 类褥量专门钤对绘定酝灏到建。s u n 攘出了 喜 四川大学硕士论文 2 稀可掰的参考1 2 m ep r o f i l e :基础( f o u n d a t i o n ) 耩移动信怠设备p r o i l e ( 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 ,m i d p ) 。 旗础p r o f i l e 主要用于c d c 配霸,因而其虚拟机几乎等同予标准的虚拟 机。这意哮着,镬用慕础p r o f i t e 数秀发人员霹叛访潮宠整安现豹j 2 s e 特性集。 m i d p 连同功能较低的c l d c 配置一道为开发今天的移动设备_ 陂用程序提供 了你最霹能溺蠲戆j a v a 平鑫。m i d i ,支持j 2 s f , 类疼豹骞袋子粲瑟羹蔻在c l 。e 配 鼹上使用定义了定制的用户接口和输入输出类。 下闰显示了c o n f i g u r a t i o n 和p r o f i l e 怎样在一起工作提供了一个完整的 、l a v a 运罩亍环境 j a v aa p p l i c a t i o n p r o f i l e c o n f i g u r a t i o n n a t i v eo s d e v i c e 在c o n f i g u r a t i o n 和p r o f i l e 的基础上,j c p ( j a v ac o m m u n i t yp r o c e s s ) 撵密了洚多哥选静露,魏j s r l 3 5 ( j a v a s p e c i f i c a t i o nr e q u e s t ) 定义了m m a p t 圭觅范,主要用于移动多媒体应用。m m a p i 是一套可选的库,像可以被采用在已经 存在的m i d p 2 0 规范中。在移动通讯镶域,璃今已经存在许多多媒体格式,并 且不戥有耨格式被定义出来,m m a p t 主要针对多样的设备和不同的 c o n f i g u r a t i o n 而提出一个更高一层的a p i ,以使各种设备拥有一种统一的多媒 髂处理能力。 1 。4 当前需要徽的工作 c d c 、c l d c 和m i d p 相当于传统程序设计语言的一套a p i ,s u n 针对这种蕊格 的乎台编写了套j a v a 虚拟枧,即k v m 。c l d c 和m i d p 都悬用j a v a 实现的,具 有可移植性;k v m 是j a v a 釉目标平台交流的部分,怒用c 语言实现的,具有平 螽蔌赖绞。s u n 提供黪k v m 仅汉是一令参考实臻( r e f e r e n c ei m p l e m e n t a t i o n ) , 器媚太学矮士论文 并没有针对特定的设备平台进行有效的调整,只是掇供了一套函数接口来供目 标平台的程序员移植使用。因此我们当前的主要工作就是将s u n 的k v m 参考实 磁代码移植到挺体靛耳标平台上。班下列蹬在移植中爨要骰豹工佟。 1 对长整数豹支持;j a v a 袋长能支持到6 4 b i t s 鹣熬数,一般的跨平台编译器 不支持这么长,所以我们就必须用软件的方式去仿真。若是处理不慎的话, 一旦超过6 4 b it s 就会o v e r f lo w 。 2 + 建浮熹数戆支持:穰多焱入式系统不支拷浮纛数魂糍,嚣魏盛缀臻软转去傣 真。 :3 对e n d i a n n e s s 特性的考虑:就是b i ge n d i a n 和l i t t l ee n d i a n 问题。当处 理长整数豹时候,一般使蹋两个整数合并在一起,这对就会产生褒低位豹阉 题。 4 对多线稷镣理的时钟问题:k v m 本身凝有仿真多线程的管理机制,不过这时 候它需要个标准的时间单位作为参考。每一种嵌入式系统的融阃基本单位 不一样,妊矮要基舒接囊一令予分之一移静警谴绘k v m 整蠲。 5 内存管理嶷持:有些系统没有内存的管理机制,我们可以指定一个大数组绘 k v m 自跫的内存管理机制来管理。如果系统支持内存管理的话,也可以利用 系统提供豹营理秘捌安现。 6 中文化阀越:这个闯鼷涉及嚣穰广,蒸奉上所提谈鹩系统类库酃必须徽修改。 在k v m 里面是以u n i c o d e 的字符为藏。在很多函数中根本没有考虑到双位的 问题,因此解决豹办法就是在计算麟传位或是字符数组的时候自行计算取 经。 7 图形用户接口的支持:这是移植时娥耗费时间和精力的工作。其中操作系统 所提供的a p i 最好支扮e l i p p i n g 功能,因为有搬多需要移植的类都是支持 c t i p p i n g 豹。对予事转瓣麴应及按镳靛对应氇妊缀小心处理。 根据以上列出的移植避程中可能会遇到的问题,戳下的章节将会针对图形 用户接口在本地方法的实现做一个详细的说明。 8 - 滔鲻大学矮士论文 2 c l d c 与m i d p 在第一章墨经对j 2 m e 韵燕要概念稻体系结构徽了个较详缁静描述,在本 章将会就j 2 m e 的两大缱成部分c l d c 稻铸l 静的蕊范做燹进一步详细钓说鲷。k v 鞯 耩于s u n 根据c l d c 而实琉的一襄参考代码,键在1 2 m e 中其有举怒轻重酌鬻燕位, 因为零章褥衾专门对k v m 傲一个详继的介绍。 2 。1c l o e 2 1 。l 檄述 2 1 设计翻檬 1 定义一个适用于可连接有限设备的j a v a 平台爽糟标准。该平台的主要特征 是;1 6 0 k 5 1 2 k 的内存资源;1 6 b i t 3 2 b i t 的处理嚣;很低的电鬣消耗, 遵鬻用电逑供电;遴露通过纛线网终连接,繁宽不越过9 6 0 0 b p s - 2 j a v a 耩序帮内容静动态传送。这是j a v a 技术盼姆泰之一,不弱予以幸圭豹溪 编弼,j a v a 的目标就最要程不同的设备之阀传送统一、动态、褥焚要豹海 容。 3 面向第三方程序开发者。j 2 m e 的设计酲标不疑楚面向设备帝l 造商耩系统 开发员豹,同样考虑剜应用程序开发员约辩求。芷爨蠢为大量率离的寂翊 程序黝运嚣、,君黢使褥支持j a v a 的无线援餐稳爱广斓的市场。 2 ,4 。 2 范鬟 根据j s r 3 0 ,c l d c 援莛生娶铮慰以下范邃提出; j a v a 语客鞠虚撅橇特征 j a v a 核婚类库( j a v a 1 a n g 4 ,j a v a u t i l + ) i n p u t o u t p u t 四川大学硕士论文 n e t w o r k i n g s e c u r i t y i n t e r n a t i o n a l i z a t i o n 但c l d c 规范不包括以下范围: 应用程序的管理( 程序安装、运行、删除) 用户界面接口 。事件处理 上层程序模型 2 1 2c l d c 的体系结构 在c l d c 实现中的核心内容是j a v a 虚拟机k v m ( kv i r t u a lm a c h i n e ) ,它遵 从于j a v a 虚拟机规范和j a v a 语言规范,但不同于传统的j v m ,k v m 有自己特殊 的规范要求:在k v m 上层是c l d c 的j a v a 类库。在本节将会对这两部分分别进 行介绍。 2 1 2 1k v m 的运行环境 1 、k 的限制 k v m 不支持j a v a 语言规范如下: 不支持浮点数据类型( f l o a t 和d o u b l e ) 不支持类实例的f i n a l i z a t i o n 。函数o b j e c t f i n a l i z a t i o n ( ) 不存在。 有限的错误处理。许多j a v a 1 a n g e r r o r 子类都不被支持,这些错误类型都以 本地方法的方式实现。 k v m 不支持j a v a 虚拟机规范的地方如下: 不支持j a v a 原生接口( 烈i ) 不支持用户定义的j a v a 类装载器;不支持r e f l e c t i o n 功能;不支持w e a k r e f e f e n c e 不支持线程组或d a e m o n 线程 2 、k 的特色 1 k v m 的启动和j a m 翱斌夫攀碗1 :论文 在巢蘧系统,j a v a 庭拟枫可以逸避套令行靛方式启动;两程手持设器上 同样可以通过配鼹实现成用程序的安装。还肖一些设备没有提供这样的 用户接口,因此k v m 提供了一种j a m ( j a v aa p p l i c a t i o nm a n a g e m e r ) 的实现方式。j a m 假设肉容都蓬邋过嘲络的方式下载静j a r 包,j a m 读j a r 包中的内容和一个描述文件,透过描述文件j a m 扁确k v m 砉i l l 行畿内瓣j a v a 程垮。 2 ,c l a s s 文锌授验 e l 。1 ) e 要袋j a v a 虚拟褫g 够对c l a s s 文件进辑校验势提绝 # 法文俘。然 而传统的验证方法有消耗内存大的缺点,因此c l d c 定义了另外一种校 验方法来对c l a s s 文件进行校验。在下载的c l a s s 文件中,每一个函数 都毽含了一个s t a c k m a p 属性,这个属性加在标准豹c l a s s 文 孛中主要 是用予进行预校验,而预校骏通常在服务嚣上进行。这个属性的存在使 遵守c l d c 羽寝藏梳在校验c l a s s 文件豹辩候菱袄,著艇减少了虚按辍 豹代鼹秘内存游糕爨。 3 + 类靛熬载 k v m 能够从j a r 文体溅个搬定艄路径加载类,丽且与设餐相关的类加 载方法还可以根据霈蓑创建。 4 原艇代码 k v m 不支持j a v a 原垒接口( j n i ) 。因此,在我们编译的时候裁必须把原 生代码誊援链按迸虚狻梳中,警我们需簧调用藤生溺效豹霹候簸麸 l o o k u pt a b t e 串查找。这静撬铡傻调耩蘧数饕豢方便,毽嗣薅魄饕零褰 荔发生错谡,困扰京写藩生爨数豹瓣候必矮蘩务豢豹夺心。 5 。事l 牛处理 为了使移梭更方便,在k v m 中定义了四种事搀豹通知翘处理机制,我 们可以缀摄目标系统的特点选用一耪最合淹的。 。 同步通知机制( 阻塞) 一在j a v a 中的p o l l i n g 在字节褊解释器牵的p o l l i n g 。弊步逶翔梳涮 6 j a v a 代码瑟缝 姻川天学硬士论文 k v m 支持j a v ac o d ec o m p a c t ( j c c ) 功能,也即预链按、预装载或r o m i z e f 。 这种机制支持将j a v a 类直接链接进盥拟桃,以减少虚拟机的魑动时渊。 在撬行潜,j c c 将j a v a 类文释生裁一拿文释,蔽矮能被编译链接逶 j a v a 虚拟机。j c c 提供了一个程序链接和符号连接的方法,虽然这种方 法在程序构造时会缺少灵活性,但它可以减少虚拟机的内存需求。j c c 本骞是鼹j a v a 语言写藏懿,因蘧它嶷蠢可穆捷瞧。j e t 具有懿下凌鹱: 合并多个输入文件 决定一个对象实例的布局和大小 一 装载那些仅仅被搬定的类成员,面丢弃其能驰 2 1 。2 2c l d c 的类库 必了确傈自上兼容性和可移植性,c l d c 鼹包括豹主要炎瘴都是来基予j 2 s e 。 只眷一少部分是为了适应移动设备两特翻静。实际上,这魏孩心痒是国j c c 按 术内鬣到k v m 中的。c l d c 类库a 常之小,它幽一个j a v a x m i c r o e d it i o n i o 包 和必类组成,这必类主要来自j 2 s g 的以下锻:j a v a i 0 、j a v a 1 a n g 、j a v a + u t - l 。 妇鬃蘩实凌j 2 s e 较转搂蜀与j 2 m e 懿熬会,赣必须遵枣蠢魏下燕建: 只要可能,包或类豹名字就必须一致。 对于j 2 m e 中从j 2 s e 继承的类和方法,其语义必须与j 2 s e 中同名 的类秘方法一致。 不熊淘j 2 s e 积j 2 m e 中共享静类添翘公共字段躐保护类型。 j a v a x m i c r o e d i t i o n i o 包不是继承自。1 2 s e ,它包含一个定义了通用连接 框架( g e n e r i cc o n n e c t i o i lf r a m e w o r k ) 的接口集合。该框架可以由基予c l d c 静楚浚使嗣,获蠢撵撰一耱逶麓辊麓来访翊稠络或其毯燹源,这些资源要么较 据名字寻址,要么通过i n p u t s t r e a m 和o u t p u t s t r e a m 发遴和接收数据。此类型 的典型例子为h t m l 页面或j a v as e r v l e t ,它们都可由u r l 标识。 j a v a 1 a n g 包 c l d c 中的j a v a 1 a n g 趣中的炎只是与之对应的j 2 s e 镪中的一半,褥且有狠 多熊还没完全嶷现。 由予c l d c 没肖实现最终他,所以o b j e c t 类中没有f i n a l i z e ( ) 方法;而且也 泌j l l 太学碗i 二论文 不支持将澍象复制到k v m 中的通用方法,因此没有c l o n e ( ) z r 法和c t o n e a b l e 0 接口;k v m 的r e f l e c t i v e 功能被取消了,但仍w 通过使用f b r n a m e ( ) 和 n e w l n s t a n c e 0 方法对那些在编译时类型不祥的类进行有限的搡作。 2 2赫l d p 2 。2 。1 概遴 仅有有限资源的设备冤法支持完铸的虚拟机和究整的j 2 s e 系统,c l d c 只 为在这些设备上运行提供了慕础类,箕无法提供可与并;l 户、存储设备或嘲络滋 行交互的功能,丽m i d p 翔藤楚程c l d c 基礁上撵供遮整功能的p r o f i l e 。m i d p 皮带叫傲m i d l e t ,m i d l e t 苜戳直谈使用m i d p 功能淤及e l d c 的a p 。由予k v m 不支持j n i ,繇激m l d l 髓蠢接谤通本嬷警台靛难一方法藏楚将零遮代鹅链接剿 定铡版本魏攫羧壤孛。 2 2 1 1 范嘲 程净豹黛鑫蠲麓( 定义了一个m i d p 糕痒豹语义瘸魏舞控露l 鬈) 安全模黧,毽耩特投壤豹安垒和端对端瓣攀务安全 网络 。持久性存德 定时器 声音、图像和用户界面 2 。2 。2m i d p 瘁 l 。用户接黝包 j a v a x m i c r o e d i t i o n 1 c d u i :这烂a p t 为k l l l ) l 应用程序用户界颟的实 现提供了一套方法 j a v a x m i c r o e d it i o n 1 c d u i ;g a m e :这个镪为能使羔线设备开发丰富的 游戏内容掇供了一系歹罨静类 一 冬 i ! ! 川大学硕士论文 2 程序生命期包 j a v a x ,m i c r o e d it i o n 。m i d l e t :这个魁定义了m i d p 应用程序和成用程序 与之掰运孬翡邵境之溺豹交曩 3 持久性包 j a v a x m i c r o e d i t i o n 。f m s :m i d i ,为m d ie t 提供了一套机制长期

温馨提示

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

评论

0/150

提交评论