




已阅读5页,还剩72页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式java虚拟机实现技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北丁业大学硕十学位论文 摘要 目前在国内,嵌入式j a 、,a 技术已经开始广泛应用于手机、p d a 等各种小 型家电上,但是其核心一一k v m ( 1 ( i 1 0j a v av i r t u a l m a c h i n e ) 大多属于国外公 司所有,而我国自己的相应的商业化产品很少;且k v m 的实现技术中仍有值 得进一步研究和改进之处。基于以上原因,本文针对k v m 的关键技术进行了 深入的研究,为开发具有自主版权的高性能k v m 奠定基础。 在分析了j 2 m e 架构的基础之上,文章介绍了j 2 m e 架构中的c o n f i g u r a t i o n 层和p r o f i l e 层。并对j 2 m e 中符合c l d c 规格的框架的核心k v m 进行了 分析和研究;说明了k v m 自身的特点、k v m 的内部体系结构和k v m 所在的 小型设备的特点;阐述了k v m 四个核心子系统:内部数据结构、多线程和同 步、解释器和垃圾收集实现细节。 文章针对k v m 的一个核心模块垃圾收集器,在对现行主要的垃圾收集 算法进行深入的研究、分析和比较后,在k v m 原有的垃圾收集算法的基础上, 提出了一个基于增量式收集思想的改进算法,这一改进措施将在很大程度上避 免由原收集算法因进行真正完全收集而带来的长“停顿”,更符合运算能力有限 的小型设备的应用要求;同时针对对象管理方式提出自己的解决方案,使得对 象的管理方式更合理,更适应于嵌入式应用。最后实现了该改进算法的原型系 统。通过对原型系统进行实验测试,验证了改进算法的正确性和可行性。 关键词:j 2 m e ,嵌入式,k v m ,垃圾收集,增量式,改进算法,停顿 西北t 业大学倾十学位论文 a b s t r a c t a si sk n o w nt oa l lt h a tt h ee m b e d d e dj a v at e c h n o l o g yh a sb e e nw i d e l ya p p li c d t oc e l lp h o n e s ,p d aa n do t h e rc o n s u m e rd e v i c e sn o w a d a y si nc h i n ah o w e v c i t h c c o p y r i g h to fk v m ( k i l oj a v av i r t u a lm a c h i n e ) t h ec o r eo ft h i st e c h n o l o g y i s d o m i n a n t l yc o n t r o l l e db yf o r e i g nc o m p a n i e s ,w h e r e a sr e l e v a n tc o m m e r c i a lp l 。o d u c t s w i t hd o m e s t i cc o p y r i g h ta r es c a r c e i na d d i t i o nt ot h i s ,k v mi m p l e m e n tt e c h n o l o g y s t i l lr e m a i n st ob ef u r t h e rd e v e l o p e da n ds t u d i e d d u et ot h ea b o v e - m e n t i o n e d h c t o r s t h i sp a p e ri sd e v o t e dt oa ni n d e p t hr e s e a r c ho nt h ek e yt e c h n o l o g yo fk v ms o a st o p a v et h ew a yf o rt h ed e v e l o p m e n to fh i g hp e r f o r m a n c ek v mw i t h o a ro p , 1 1 c o p y r i g h t f i r s t ,b a s e do nt h ea n a l y s i so ft h ef r a m e w o r ko fj 2 m e ,t h ef r a m e w o r k 。s c o n f i g u r a t i o nl a y e ra n dp r o f i l el a y e ra r ei n t r o d u c e d s e c o n d ,t h i sp a p e rc e n t e r s0 1 3 t h es t u d ya n da n a l y s i so fk v ma st h ec o r eo fc l d c sf r a m e w o r ki nj 2 m el h c c h a r a c t e r i s t i c so fk v ma n dt h ec o n s u m e rd e v i c e sw i t hk v ma r ee x p a t i a t e da sw e ll a st h ei n n e ra r c h i t e c t u r eo fk v m w h a t 。sm o r e ,t h ef o u rc o r ec o m p o n e n t so t k v m a r ei l l u m i n a t e d ,n a m e l y ,t h es t r u c t u r eo fi n s i d ej a v av i r t u a lm a c h i n e ,m u l t i t h r e a d i n g a n ds y n c h r o n i z a t i o n ,a n dd e t a i l so ft h ei m p l e m e n t a t i o no ft h ei n t e r p r e t e ra n dg a r b a g e c o l l e c t i o n a sf o rg a r b a g ec o l l e c t o r , o n eo ft h ec o r em o d u l e so fk v m ,t h i sp a p e rg i v e sa n e wa l g o r i t h mo fg cb a s e do nt h ep r e s e n ta l g o r i t h mt h a tt h ek v mm o d e li su s i n g a f t e ri n - d e p t hs t u d y , a n a l y s i sa n dc o m p a r i s o no ft h ec u r r e n tp r i m a r ya l g o r i t h mol ( j ( 1 b a s e do nc u r r e n ta l g o r i t h mi nk v mm o d e l ,i n c r e m e n t a lc o l l e c t i o ni si n t r o d u c e di n t o t h ei m p r o v e da l g o r i t h m ,a n dt h i si m p r o v e ds c h e m ec o u l da v o i dl o n g p a u s e d u et o r e a lf u l lc o l l e c t i o nc a u s e db yf o r m e ra l g o r i t h mt ol a r g ee x t e n t i tm a k e sv mm o r e s u i t a b l ef o ra p p l i c a t i o nr e q u i r e m e n to fp r o c e s sa b i l i t y l i m i t e dc o n s u m e rd e v i c e s ;a n e ws o l u t i o no fo b j e c tm a n a g e m e n ti sp r e s e n t e d ,i tm a k e so b j e c tm a n a g e m e n ti n ( w e r a t i o n a la n dm o r es u i t a b l ef o re m b e d d e da p p l i c a t i o n a tt h ee n do fp a p e r ,as y s t e m p r o t o t y p eo fi m p r o v e da l g o r i t h mi sp r e s e n t e d a f t e ra n a l y s i st h er e s u l t o ft e s t v a l i d i t ya n df e a s i b i l i t yo fi m p r o v e da l g o r i t h m a r ep r o v e d k e y w o r d s :j 2 m e ,e m b e d d e d ,k v m ,g a r b a g ec o l l e c t i o n ,i n c r e m e n t a l ,i m p r o v e d a l g o r i t h m ,p a u s e 两北工业夫学硕: 学位论文 第一孽博:q 1 i 论文背景 第一肇前言 近冬亲。蠢于穆貔终壤设备豹蓬勃发震,务式羲撵戆硬 睾设餐、软终平台爨 被开发瞄来嬷入这场2 l 键纪的移动通讯大战。焱硬 串设舔上煮i n t e l 公司的 s t r o n g a r m 系列,m o t o r o l a 公司瀚d r a g o nb a l l 系列等;软件平台肖著名酌l i n u x 操作系统,m i c r o s o f l 的p o c k e tp c ,a c c e l e r a t e dt e c h n o l o g y 公司的n u c l e u sp l u s 等。一个稷序设计者如聚怒要设 出能横跨这么多平台的斑蹋程侉柬,怒一件不 骞爨戆攀壤i l 】。戮藏,零身其露跨乎台耱毪熬j a v a 程彦添翥裁成羹程嚣舔夺 手机、p d a 等嵌入式系统中越来趟受欢迎的热门软件平台。 毽怒警檄与p d a 等诺翔_ 迦类弱小溅莹惠家邀,本身毂疆馋运算能力不麓嚣 最系统资源密限,对于我们常见酶j a v a 版本倒如j 2 s e 、j 2 e e 来说,体积过予庞 大,并鼠还祷各式各样在邀些小黧信息家电上掰翊不弼的葫能。为了满跫对于小 型信息窳电和嵌入式市场腰求,s u n 公司推出了微型版j a v a ( j 2 m e ) 。j 2 m e 在 其粱褐宥疆个屡次,瓤下阁所示: 燃1 1j 2 m e 的架榭【5 l j 2 m e 的主要皮麓分为两大炎:共享固建设螯和个人移询设备a 筒砻在 c o n f i g u r a t i o n 淫健翔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 ) ,焚疲鼹静终拣设簧 有数字电视和i n t e m e t 视频电话等;后者则在c 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 ) ,这类终壤设簧镪摇手凝、p d a 葶 l 呼 执等,逶常在人枫接固_ k l l 较糕麓,瓶虽起稃霸求小 由于虚报杌处平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 l d c 的硬传要求如此苛刻,对其虚拟机也就有着j 常痢的 要求。kv i r t u a lm a c h i n e ( k v m ) 楚j 2 m e 为了猩傻臻c l d c 酗鬻韵终端设蓊上 运嚣j a v a 疲矮程謦瑟浚诗塞寒瓣瑾撼撬,也霹爨滋是c l d c 憝核心部分。它蓬 4 疆l k 工鼗大学醺士学毪谂文 第章藩毒 s u n 所提出来在不同能力平台下的一个j a v a 的解决方案,这种技术的应用平台 主要是农比较便宜的移动设备,在没有很好的硬件设备中,逐是要能够运行基本 豹j a v a 技零,宙予k v m 最,l 、只蘩1 6 0 k 戆蠹籽虢霉激运露,蠢魏稼为k v i r t u a l m a c h i n e ,其中k 憨表示k i l ob y t e 的意思,其中包含了1 2 8 k b 用来送行k v m 本身及熊所必须具备的基本l i b r a r i e s 【1 】。 k v m 的实现是穰当成功的。掇早在1 9 9 9 簪j a v a o n e 大会的时候,佟为s u n 豹s p o t l e s s 计翻派擞缡莱,s u n 分发了许多p a l mv ,提供了p a l mo s 上豹第一个 k v m 版本和一个实验性的类库c o m s u n k j a v a 。这一k v mq 常小而紧凑,只需 要几十k 内存。丽c o m s t i l l k j a v a 类库提供了p a l m 的图形用户接口,p a l m 数据 库谤阏,楚莘懿集食爽等等。凌溅者绩台,舞发蠹裁可敬开发p a l m 上豹j a v a 应 用,因j 琏:它受到了开发者的广泛欢迎,阐上也裙了许多教程和示例代码。桊实上, 到目前为止,这都熄在p a l m 上开发j a v a 程序的唯一合理途径。c l d c 没有定义 用户爨蕊等a p l ,m l p p 并不适合p d a ,对应的簸台适j 2 m e 标准是p d a p r o f i l e , 毽是滏来完成。诲多歼发者强烈簧求s u n 在菠式靛j 2 m e 标潍孛继续支撩它,但 是s u n 融经放弃了邀技术,而麒并不保证正戏的p d a p r o f l l e 与之的兼容性。 在2 0 0 3 年的j a v a o n e 会议上,最吸引入的是j a v a 在移动领域的成甩。不 少厂鼷赘寒了套色备襻戆“j a v a 纯”逛予浚冬,p d a 、手枣筵、汽车驾驶鑫控制 屏等,真正傲到了“任何人、在证何地方、用 壬何移动设备、获得所需要的信息” 2 6 1 。而这些移动设备均是在j 2 m e 平台的支持下,移动实时信息处溅将会有 缀大的发震,露j 2 m e 则是一个缀好的发鼹擎台。 1 2 翻内外研究现状 枣予k v m 在j 2 m e 毒搴系缝援中楚予戆狻,蘧霞,在缀大稷度上决邃了嵌入 式j a v a 技术的未来应用前景。缀然k v m 乍为s u n 豹参考窦现最经常被提到, 不过并不等于一定鬻用k v m 。戴它公司的虚拟机只要满足相应的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 的虚拟枫。跨裁i b m w e b s p h e r em i o r oe n v i r o n m e n t ,已经逶遭了”j a v a p o w e r e d t m ”议涯,英转寝强祝 在相巍多的平台上通过了j 2 m e 兼容性测试ll 】。 嗣前,国外已缎有采用多种不同方式实现的j a v a 虚拟机,以下是比较有代表 戆一魏j a v a 超掇枫憋实袋: s u nh o t s p o tv m l 4 2 是s u n 公司提供的针对j 2 s e 平螽豹虚拟辊,菇执行方 式采闱自适应优化的方式,垃圾收集算法采用分代式收集算法,在新分代和老分 代上提供了多种冀法默适应不丽应照的需要【1 5 】。在j 2 m e 环境中s u n 公司 摄珙了嚣令窿羧瓿c v m 帮k v m 。c v m 楚s u n 锌对c d c 撵餐楚虚摈瓶实袋。 兰婆! 三婆查兰篓兰兰望釜壅 釜二塞蓬i 它采用解释执行方式,提供了三个垃圾收集算法:标记一清除算法,拷贝算法神 一个分代成收集算法。k v m 是s u n 针对c l d c 提供的虚拟桃实现。k v m 浆矧 解释甄簿,蒸垃毂浚裳算法为基本戆标涟一涛豫算法,它戆特燕楚瑾熬凝运行时 占用的内襻较少,适台予内存极小的嵌入式设备【s 】。 i n t e lo r pr u n t i m ep l a t f o r m1 o 1 0 是i n t e l 公司开发的开放源代码的j a v a 虚拟 瓤,它摄镞了一令赞对i a 3 2 黎捣l 踅能戆j 玎编译器,采用靛瞧是分代静垃圾收 集算法,在新代上采麓拷贝算法,在老代上采掰瀚量式静t r a i n 垃圾收集算法 【2 8 】。 j i k e s r v m 是由i b m 公司开发的用于研究性质的开放源代码的j a v a 虚拟机, 该寝叛梳瓣特焘是j a v a 虚攘掇本襄袋溺了j a v a 溪富寒实魏,窀摄貘了一令楚转 的垃圾收集模块的接嗣垃圾收集工具集( g a r b a g ec o l l e c t o r t o o l k i t s ,g c t k ) 1 3 0 1 。 s a b l e v m1 0 。9 是m c g i l t 大学诗舞壤系的个硬究蛙质鲍野羧深莰羁靛j v m 虚拟瓤实现,采用豹皱缎收集算法怒精确的拷灵算法,解释执行字节褥。 k a f f e1 0 7 是一个开放源代码的j a v a 虚拟机实现,它支持的平台较多,垃圾 收集机制采用了一个不分代的保守的标记一清除冀法,并提供了一个j i t 的编泽 襄察一令瓣释器1 2 9 1 。 以上列举出的j a v a 虑拟机,适合嵌入式设备墩用环境的翻前只有s u n 公司的 c v m 和k v m 以及k a f f c ,而这些邋用于嵌入式设备的j a v a 虑拟机所使用的垃 圾牧集算法几乎都是蒸本的糕记一清除篓法。 国肉熊一家成功撩爨嵌入式k j a v a 虚织瓤乎螽的是北京科镊京残技术肖辍公 司,其产黼为d e l t a k v m 。这是一个完整的j 2 m e c l d c 在科银京成的嵌入式实 时操作系统d e l t a o s 上的实现,与c l d c 的标准规范完全兼容,是目前国内最 爵豹嵌入滚遘援援之一,已经在t c l 、波导、n e c 、毒事达等等凝厂家中撼到广 泛应用 2 1 】。它是檄搬s u n 公司掇供的k v m l 0 的参考方案的基础上开发的, 它所具备的特点有:黼性能,对硬件和电池要求低;速度较快,采用j i t 披术, 优化焉匏速度l o 傻予戳的具有j h 技术的v m ) 可移植性好,用撼象层隐蔽硬 俘差弱,采_ 拜l 全箍豹测试囊进行了验证;荔于集成。然两d e l t a k v m 在垃敷浚集 上仍然悬采用基本的标记清除算法。 虽然蕊本的标记一清除算法比怒另外两个经热算法:引用计数算法和节点复 镧雾法,燹逶会手嵌入式设惫庭爨繇凌( 详觅繁滔牵) ,毽楚溪本戆据记潺泛 算法的慰想有一个很大的局限性,即不具有实对蚀。在这种机制下,垃圾 | 炱集器 只是在内存不够分配的时候才启动,从而引发因完全收集造成的很长时阆的“停 顿”,这耱情况被称为“传死机”,对于运算能力鞠系统资源都受限制的小戮设备 来谎,怒不可接受蠡冬。丽实对毪豹愿怒藏是将这令“长箨顿”进学努餐,分裁 6 两恕_ t 奴大学颈= e 学位论文嚣一謦蘸,i 成许多使用者根本擞察不到的短的“停顿”,从而在很大程度上避免了“伪死机” 情况的出现,因此藏适合嵌入式设备的应用场景。 裂瓣蘸失盘,s u n 公司摧密瓣c l d c 舨本已经麸1 , 0 。3 秀缓羁了l 。0 。4 ,k v m 版本墩随之升级。沈起版本1 0 3 来说,薪推出的k v m 版本除了修正了上一个 版本的一些小的b u g 之外,新增加了一些重甏功能:支持k n i ;运行时梭验器的 执行照轻便;颈校验器帮r o m i z e r 的增加使耨版本有了j d k l ,4 鲍兼容性。出于 s u n 公司提供静臻鸯翦k v m 穰黧中掰使用戆瓣释器采嗣豹楚矮篱荤静解释挠行 方法,在解释执行的效率上比较低下,因此目前s u n 公司正积极的准备推出k v m 的商性能版本一p m l e c tm o n t y 虑拟机以用于下一代的移动傣息处理设备。它的解 释嚣褥慕震h o ts p o t 熬技本,瞧缝将魄凌煮戆k v m 垮:i 凌麓一令数量缀。 1 3 论文选题意义 2 0 0 3 年j a v a 筝勰在国肉黎滋并带动手飘整产与溃费秘鞭一籍竞争熬满。豫 此之外,嵌入式j a v a 技术也已缀开始广泛应用予手机以外熊他各种小型家电上, 如p d a ,电视机顶盒等,但是其核心一一k v m 均是购买豳外公司的产晶,如韩 国三麓公司或者港蕊亚公司等,薅我蓬臭己掇瘫的藏监亿产鑫缀少;纛k v m 的 实现技术中仍有俊得进一步研究和改进之处,焦点集中予k v m 韵解释鼯技术帮 垃圾收集技术等方面。因此,本课题的研究在理论和实践上都具有重要的意义。 。本论文的选题墩就是在这年中情况下提出的,主要是分橱和研究s u n 公司提供 鹣k v m 横鍪蒋系缡德方瑟懿兼键技末,对圭轰蔽嚣| | 芟等谈心冀法送行毅遴,为疆 发具肖自主版权盼高性能k v m 奠定基础。 1 4 研究内容秘论文组织 1 4 1 研究内客 本文对s u n 公司提供的个基于c l d c i 0 4 豹k v m 模型速嚣磷究,分瓠其 体系结构,然后尝试在原有的撼础上进行性能上的改善。作者所研究的内容主要 包括以下几个方磷: l 。论述tk v m 掰在豹平台j 2 谶戆鞠美接拳穰念t 2 以虚拟机的职个重要组件为基础,分别分析了k v m 巾的四个重要组成部分, 包括内存管理、解释器、内部结构和多线程控制,及箕关键技术a 针对其中 某些关键技术,幸筝者徽了深入的讨论帮分叛,例如:勰释器r 垃圾收集算法 镰。 阿北工业大学砸:t 学位论文 第一审茼,: 成许多使用者根本觉察不到的短的“停顿”,从而在很大程度上避免了“伪死机” 情况的出现,因此更适合嵌入,c 设备的应用场景。 到目前为止,s u n 公司推出的c l d c 版本已经从1 0 。3 升级到了l 。0 4 ,k v m 版本也随之升级。比起版本1 0 3 来说,新推出的k v m 版本除了修正了上个 版本的一些小的b u g 之外,新增加了一些重要功能:支持k n i ;运行时校验器的 执行更轻便;预校验器和r o m i z e r 的增加使新版本有了j d k l 4 的兼容性。1 = i = j 于 s u n 公司提供的现有的k v m 模型中所使用的解释器采用的是最简单的解释执行 方法,在解释执行的效率上比较低下,因此目前s u n 公司正积极的准备推出k v m 的高性能版本一p r o i e c tm o n t y 虚拟机以用于下一代的移动信息处理设备。它的解 释器将采用h o ts p o t 的技术,性能将比现有的k v m 将近高一个数量级。 1 3 论文选题意义 2 0 0 3 年j a v a 手机在国内推出并带动手机生产与消费的新一轮竞争热潮。除 此之外,嵌入式j a v a 技术也已经丌始广泛应用于手机以外其他吾种小型家电上, 如p d a ,电视机顶盒等,但是其核心一一k v m 均是购买国外公司的产品,如韩 国三星公司或者诺基亚公司等,而我国自己相应的商业化产品很少:且k v m 的“ 实现技术中仍有值得进步研究和改进之处,焦点集中于k v m 的解释器披术和 垃圾收集技术等方面。因此,本课题的研究在理论和实践上都具有重要的意义。 本论文的选题也就是在这种情况f 提出的,主要是分析和研究s u n 公司提供 的k v m 模型体系结构方面的关键技术,对垃圾回收等核心算法进行改进为研 发具有自主版权婀高性能k v m 奠定基础。 1 4 研究内容和论文组织 1 4 1 研究内容 本文对s u n 公司提供的一个基于c l d c i 0 4 的k v m 模型进行研究,分析其 体系结构,然后尝试在原有的基础上进行性能上的改善。作者所研究的内容主要 包括以下几个方面: l论述了k v m 所在的平台j 2 m e 的相关技术概念。 2 以虚拟机的四个重要组件为基础,分别分析了k v m 中的四个重要组成部分, 包括内存管理、解释器、内部结构和多线程控制,及其关键技术。针对其中 某些关键技术,作者做了深入的讨论k n s t 析,例如:解释器一垃圾收集算法 某些关键技术,作者做了深入的讨论k n s t 析,例如:解释器垃圾收集算法 等。 两恕_ t 奴大学颈= e 学位论文嚣一謦蘸,i 成许多使用者根本擞察不到的短的“停顿”,从而在很大程度上避免了“伪死机” 情况的出现,因此藏适合嵌入式设备的应用场景。 裂瓣蘸失盘,s u n 公司摧密瓣c l d c 舨本已经麸1 , 0 。3 秀缓羁了l 。0 。4 ,k v m 版本墩随之升级。沈起版本1 0 3 来说,薪推出的k v m 版本除了修正了上一个 版本的一些小的b u g 之外,新增加了一些重甏功能:支持k n i ;运行时梭验器的 执行照轻便;颈校验器帮r o m i z e r 的增加使耨版本有了j d k l ,4 鲍兼容性。出于 s u n 公司提供静臻鸯翦k v m 穰黧中掰使用戆瓣释器采嗣豹楚矮篱荤静解释挠行 方法,在解释执行的效率上比较低下,因此目前s u n 公司正积极的准备推出k v m 的商性能版本一p m l e c tm o n t y 虑拟机以用于下一代的移动傣息处理设备。它的解 释嚣褥慕震h o ts p o t 熬技本,瞧缝将魄凌煮戆k v m 垮:i 凌麓一令数量缀。 1 3 论文选题意义 2 0 0 3 年j a v a 筝勰在国肉黎滋并带动手飘整产与溃费秘鞭一籍竞争熬满。豫 此之外,嵌入式j a v a 技术也已缀开始广泛应用予手机以外熊他各种小型家电上, 如p d a ,电视机顶盒等,但是其核心一一k v m 均是购买豳外公司的产晶,如韩 国三麓公司或者港蕊亚公司等,薅我蓬臭己掇瘫的藏监亿产鑫缀少;纛k v m 的 实现技术中仍有俊得进一步研究和改进之处,焦点集中予k v m 韵解释鼯技术帮 垃圾收集技术等方面。因此,本课题的研究在理论和实践上都具有重要的意义。 。本论文的选题墩就是在这年中情况下提出的,主要是分橱和研究s u n 公司提供 鹣k v m 横鍪蒋系缡德方瑟懿兼键技末,对圭轰蔽嚣| | 芟等谈心冀法送行毅遴,为疆 发具肖自主版权盼高性能k v m 奠定基础。 1 4 研究内容秘论文组织 1 4 1 研究内客 本文对s u n 公司提供的个基于c l d c i 0 4 豹k v m 模型速嚣磷究,分瓠其 体系结构,然后尝试在原有的撼础上进行性能上的改善。作者所研究的内容主要 包括以下几个方磷: l 。论述tk v m 掰在豹平台j 2 谶戆鞠美接拳穰念t 2 以虚拟机的职个重要组件为基础,分别分析了k v m 巾的四个重要组成部分, 包括内存管理、解释器、内部结构和多线程控制,及箕关键技术a 针对其中 某些关键技术,幸筝者徽了深入的讨论帮分叛,例如:勰释器r 垃圾收集算法 镰。 蘸琏工监太学磺士学挝论文篆一章麓刮 3 针对k v m 较费时的檫心模块垃缎收集,襁射现行主要的垃圾收集算法 进雩亍深入瓣磷究、分横和比较后,在k v m 骤有救垃圾收集算法她基础,毫。 萼l a 溪鬣凌羧集愚怒,瓣对象警疆方式提窭垂惑鹣瓣决方寨。簸螽实现了改 进算法的原型系统。 4 对原型系统进行测试,通过对测试结果进行分榭厩。验证了改j j 挂算法的讴黼 链器可行性。 1 。4 2 论文赧织 本论文共磐5 牵,分裂夯缀魏下: 第l 章:绪论。介绍了研究嵌入式j a v a 虚拟机察现技术的研究的背景、嗣 前国内研究和控展的状况,以及论文中的研究工作和论文内容的蜜摊。 第2 耄;j 2 m e 黧k v m 戆关系。本章谨缨热介绥秘努辏了j 2 m e 浆产生、 前景、架稗帮应焉等方糯躺内容。 第3 章:k v m 体系结构。从虚拟机设计的角度- 粜介绍了s u n 公司提供的k v m 憋个系统的总体框粱,以及四个重要缀艘模块,并对葵中戆关键技术散了详细深 入鹣分辑秘戮究。 第4 举;针对k v m 辩中的比较赞执行对闻部分垃圾收熊器所使用的辫 法进行改进,在原有算法中引入增量式收集思想j 对对象管理方溅提出自己的解 决方寨。爨麓实琏了薪辣法酶原型系绫a 第5 牵:对琢鍪系绕遴行灏试,分橱灏试结聚,验涯改进冀法豹歪磷瞧粒可 行性。 第6 攀:总结与展攥。总结了本论文完成工作的优点以及w 改进之处,并展 望了霹逑符懿一些嘉续辑巍。 8 涎趣王鼗太举磺学寝论文 簿三章j 2 m e 峙k v m 第二章j 2 m e 与k v m 2 1j 2 m e 的产生和发展前景 羧襁,j a v a 楚梵嵌入式系统磷疑诗蕊一磺产燕。后寒爨予戛联瓣懿发震,箍 j a v a 翻诸多特性潮好又适合霜在阚络立( 铡魏霹移捷幢、编译压程穿璐缀,j 、 安全性) ,从此因缘际地成了删络上一颗闪粥的巨星,其实其骨予量掰逐是非 常适合惩在嵌入式系统中的。从j a v a1 1 开始,j a v a 叉回到了宦一开始纳爨路一 一褒入痰聚统蠢甏戆褒罱,在亵对s u nm i e r o s y s t e m s 羲茇袭te m b e d d e di 撇与 p e r s o n a lj a v a ( 也有入简称为p j a v a ) 这两项规格。接著j a v a 的版本演进戮j a v a 2 , 这时为了再明显区分梅种j a v a 的应用,分割出了j 2 e e 、j 2 s e 、以及j 2 m e 三种 叛零。这榉j a v a2 将j a v a 懿宜髑送势或了兰大块,簸焉馊褥j a v a 糕露诿畜的 茇袋不衾再豫j a v a1 1 靖麴撂技凝般扩歉毽去。 j 2 m e ( j a v a2p l a t f o r mm i c r oe d i t i o n ) 是s u nm i c r o s y s t e m s 针对那燃硬件运 算能力不商的小型设罄及移动终端设备丽设计出来盼微型j a v a 技术。j 2 m e 一啦 袋裁在绩患家逮骥域审选或了不小麓轰葫。嚣藏在霎癸手飒枣殛主已经邀霞蕊应 用j a v a 的产品有:2 0 0 1 年4 闷,美国n e x t e l 通信公司巍布推出两欺国摩托罗 拉公铡生产的j a v a 乎机,i 8 5 s 售价约为2 0 0 夔元,i 5 0 s x 能价约为1 5 0 茨元。 这是荑瀑枣场上蓄巍攘瞧蘸j a v a 手挺,霜对支持w a p 功魑;霹霉6 旁褒,摩 褥爹擒公司雅窭最捺a 6 2 8 8 ,支撩j 2 m e 开发鹣程痔。鞠零j - p h o n e 公司腻2 0 0 1 年7 月中旬开始上市两种内置对虑“j a v a ”应用软件和3 d 的数码相机的手机。 西f l 予公司2 0 0 1 罐6 胃推出一敞6 6 8 8 i 的手桃是世赛上酋郝k j a v a 孕桃,可以 下载旺簿蔫k j a v a 诗冀羲语言编写戆敷黯程序,龟螽各秣游建较尊1 2 5 1 。囊 笮 为j a v a 的剖始者s t m 公司和翻本东芝公司于2 0 0 5 年7 月联平成功实施了“手机 版”的j a v a 虚拟机( m ) 技术和j a v a 无线裙户端软件,遮将极大撒翻3 g 手 瓤来采糍彩应爆的嚣笈。s u n 公霹手挺j v m 技术全名必“c o n n e c t e dl i m i t e d d e v i c ec o n f i g u r a t i o nfc l d cjh o t s p o ti m p l e m e n t a t i o n ”,褥j a v a 秃线鬻户璇较箨 的用户则是英国电惰巨头沃达车。这些新技术极大突破了3 0 手机的性能和用户 体验。据寒芝公司发布的最掰消慰,其最新款熊9 0 2 t 手机煎即将在欧洲上市的 蕊9 2 l ,往笺零甄先产貉蕤爨已经誊了囊汝飞跃。 移韵信息设备的主要操作系统平台都是开放的,j 2 m e 韵标准也怒歼放的, 因此熬本上所有的童要操作系统平台部支持溅将支持j 2 m e ,这带来豹广阔市场 ( 翡稳警襁鹃枣场焚羹基太) 窝爨正戆“一次编写,爨簸邂嚣”是任 霹英继技零 无法魄织熬。瓣予开发者丽言,可以不受撩悖系统戆限制,不溪握心程逡个多变 9 登整三望奎篓篓兰兰望整苎 釜三茎! ! ! 堡釜鹜鳖 的市场上嘲平台的变化而影响自己的应用【1 11 。 j 2 m e 的前景很明鼹簧比j 2 s e 罄至j 2 e e 米的复杂,但怒复杂性也预示羲 j 2 m e 靛够支持设备戆多样牲。| 凌誊溪范的盛鳖帮筵多蕊拶熬翔入,越来越雾酾 人确信j 2 m e 将巩固其在嵌入式设备领域的地位。 2 。2 您m 嚣的架构 j 2 m e 在设计其规格时遵循了“对于各种不同的装置造出一个单一的开发系 统是没有意义的搴”的纂本原则。所以j 2 m e 将所有的嵌入式装置大体上聪分 走蘸魏:耱蹙逶算耱箍毒陵、毫力谈瘟氇有聚鹣嵌天式装鬟,缓懿p d a 、手 机等:另外一种则是遥辣能力相对较健、并在电力供应上相对仁匕较充足豹嵌入式 装置例如窳调、电冰箱、机顶盒等。 针对这甄耱薹! 态翦嵌入式装置,j a v a 弓l 入了一个列徽c o n f i g u r a t i o n 躲概念, 把上述运算功能有限、瞧力有限酶嵌入式装置定义在c o n n e c t e dl i m i t e dd e v i c e c o n f i g u r a t i o n ( c l d c ) 舰格之中:而另外一种装鬣则规范为c o n n e c t e dd e v i c e c o n f i g u r a t i o n ( c d c ) 煺格。也就是说,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 2 m e 对于两种类激嵌入式装鬣的规 格,而这热规格之中寇义了这些裟鬣至少要符合的运算能力、供电能力、记忆体 大小等艘蒎,圆对也定义了一组在这些装置上执行的j a v a 程膨鼹髓使用懿炎痒、 这些巍范老串所定义鹅袭痒为j a v a 铄准核心类澎豹子集合潋及与该登态装鬻特 性相符的扩充类库【l 】。比方就c l d c 的规范来说,可以支持的核心类席为 i a v a 1 a r t g + ;a v a i t ) ,+ a v a u t i l ,褥支持的扩充类麾为j a v a 。m i e r o e d i t i o n i o + 。 嚣分溅嚣耪圭蘩豹c o n f i g u r a t i o n 之嚣,j 2 m e 接蓑定义蠢了p r o f i l e 戆檄念。 p r o f i l e 越架构在c o n f i g u r a t i o n 之上的规格。之所以有p r o f i l e 的概念,是为了要 更明确地区分出各种嵌入式装置上j a v a 程序该如何开发以及它们应该具眷哪些 功能。爨数p r o f i l e 之巾定义了与特怒嵌入式装鼗游常相关的扩戆类库,j a v a 程 序在备耪嵌入式装霉童静使蕊者器蕊该魏衙星躐藏是定义东p r o f i l e 墨头静。 p r o f i l e 麓中所定义的扩充类库是根据底层c o n f i g u r a t i o n 内所定义的核心类库建 立的。例如,我们可为移动信息设铸定义一套它所需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 ) 。螯l 。l 藏震示tj 2 m e 韵整体架构和针对具体的m o b i l ep h o n e 所定义的p r o f i l e 层a 图2 1 为j a v a 2 几个版本基本架构的比较。从图中可以肴剿,对于j a v a 2 的 各种平螽采说煞器要j a v a 虚拟枫的支持。j 2 m e 也不例终,我们已经对j 2 m e 架 摘( 鍪1 1 示) 孛豹c o n f i g u r a t i o n 釉p r o f i l e 遴行了教述,宅静努个最耋黉的帮 o 墨垄三燮鲎篓圭堂竺堕苎 釜兰童! ! ! 堡童篓! 鳖 分就是j a v a 虚拟机了aj a v a 虚拟机的主要任势怒装载c l a s s 文件并且执行熊中的 字节粥。 鬻2 + ij 2 e e 、j 2 s e 彝j 2 m e 之阊匏美系 j a v a 虚裂祝辩予c l d c 这个静对系统磷镎资源有鞭豹小墅设备翡规格,荚 核心谶撼一个叫作kv i r t u a lm a c h i n e ( k v m ) 的虚拟机。之所以叫做k v m ,足 因为它册藤向的设餐一般只有数十k ( k i l o b y t e ) 的虑存,魁它本身对内枣的需 密量爨巍k i l o 勇氍嚣簿缓中, 我们再来描述下c l d c 规格针对的嵌入式设备的特点: 1 ) 使用1 6 3 2 - - b i t r i s c c i s c 微处理器鳃控制器; 2 ) 至少掇有1 6 0 k b 懿蠹存,其幸豹1 2 8 k b 将配置塘装v 联戳菠摈心类疼; 3 ) 有限辘潺供赢( 透鬻捷羽魄渔) ; 4 ) 有限或非持绒网络连接; 5 简单的用户於疆( 甚至没商) l 】。 谈鹱c l d c 凌餐憋一些巷点,娃方袋雯好蟪理簿下一零蘑要诶簿熬k v m 翁 有关内梅。 鼹j 工业太学酸士学经论文 第基攀k c m 蘸嚣聚髂翰 3 1 删概述 熬三章k v m 的体豢结擒 k v m 靛睡系绪搀鹈瓣蠢穷绥避熊j a v a 整羧凝辩基本上楚一撵酶。毽k v m 韵应强警鸯差要是浇较馁童韵移动设备,要在浚谢缀好韵硬 串设备串,还能够运 行基本的j a v a 技术,它旒需要在设计时特别地考臆内存的使用、执行的时间等。 k v m 逶龌憝露e ,c + + 谶蛮实现蛉。 k v m 在凌筑主彝簸v i r t u a lm a c h i n e ( 姆t l i n d h o l m & e y e l l i n ,t s b n 0 - 2 0 1 6 3 4 5 2 0 x ) 相比瞧做了很多的裁剪,重要的限制有: 1 对浮点运算的擞持:c l d c l 1 规范中要求k v m 支持浮点运算( c l d c t ,l 芝嚣翡驻奉不支薅) ,然嚣一臻疆终平台不支持浮点运舞,这魏爨要k v m 麓一些落数寒横拟实现。对各个平台藏鞠髓是否癌璃魁珂选魏; 2 不嶷持j a v an a t i v ei n t e r f a c e ( j n i ) ,但k v m 实现了自醴的本地函数接口 l l ( kn a t i v ei n t e r f a c e ) ,k n 可以说怒轻爨级蛉j n i : 3 。不交持蘑产定义翁j a v a t m - l e v e l 类热蓑舔,不支持r e f l e c t i o n 臻裁。 4 不支持多线稷娥d a e m o n 缀的线程; 5 祷限的错误处理方式,大多数的j a v a 1 a n g e r r o r 都没省赢特【1 】 k v m 碍数说是辩m 靛缝型,毽在设毒上凑燮多魏隈截黧考虑,瞧是遮遣不 迳缝辩酌,可渡褪其椿鹃应援环辘避行臻辘上静瀵减。 k v m 的主要设计联念; 要够在具宥 e 较少内存的移动设备上遮行,所以糟搬整个核心能够在 瓤鬟8 0 k 庭豢; 熊有高可移植| 擞; 横块化及客体化 熊移尽量完整瓣且捷速鲍运弦j a v a 应鬟程露【l 】。 3 2k v m 的体岽结构 簸袭糍撬鬟诗懿熊度篷发,k v m 酶藩系结褥热下整爨幂: 1 2 至! i 三垄浏:苎兰整篓塞篓兰堇望鍪釜篓鍪兰塑 燃3 。tk v m 的体系鞘鞫 凑主溪霉爨海k - v m 凳麦嚣大予系凌; i 。内部结摘:运部分包括黉敞载器和j a r 热载器、梭骏器、奉遗撩翻和函 数与内部避杼时数据结构 美参绫程帮溺涉控截:这帮羚包括k v m 斡线莲系统鞠线程诱发; 3 。瓣饕器;这辩努毪蕤藜器器窝蔑行黎辘凝及编译嚣( 编译器莛嚣骞霹无, 通常的k v m 是没有的) 4 。晦存管理煎缆:这部分戗括虎存蛇分黼和内存的湖收 2 2 1 。 攘下寨将逐个慰皴土爹囊戆嚣夸系统透露分绥襄癸褥n 3 2 1 内部结构 下蘅是k v m 鹣模式霾: 3 0 1 + 1j a v a 类文件结褐 雕3 2 k v m 的横式匿 一枣j 2 v i e 凝爆疆舅熬怒蠹一拿或卷箩令j a v a 类文馋篷成* 罄一个娄文 箨慧裘一争j g 婚瀵( 这鍪不毽镭爨藩囊:i r m e rc l a s s ) 。蛰令类交羚遥镪台:方 嚣j 王监夫举疆圭学斑论文 攀 兰攀k v m 懿体系缝鞠 法、字段、常量、异常处理和各种引用等信息。类文件的格式怒标准的、独立于 宿主枫嚣的j a v a 类文件。 谴麓j a v a 程穿诿蠢编写遗寒游添文舞是罄j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中药代理合同样本
- 代理委托采购合同标准文本
- 保温纱窗采购合同样本
- led灯具安装合同标准文本
- 供水运营合同标准文本
- 中英爱守护合同样本
- 井下电缆采购合同样本
- 中级收入建筑合同样本
- 供暖换热站安装合同样本
- 公司审计合同样本
- 消防更换设备方案范本
- 合伙开办教育培训机构合同范本
- 嵌入式机器视觉流水线分拣系统设计
- 《电力建设工程施工安全管理导则》(nbt10096-2018)
- 江苏省盐城市东台市第一教育联盟2024-2025学年七年级下学期3月月考英语试题(原卷版+解析版)
- 湖南省2025届高三九校联盟第二次联考历史试卷(含答案解析)
- 2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“电子商务”赛项规程
- 2025年中考数学复习:翻折问题(含解析)
- 唐太宗-李世民
- 项目部二级安全教育内容
- 统编(部编)五年级语文下册全册教学反思
评论
0/150
提交评论