嵌入式Java虚拟机的改进
摘 要:本文研究了java技术在嵌入式领域应用中所存在的系统占用资源较多和程序执行效率较低两个关键性难题。在研究国内外目前应用于嵌入式java虚拟机中的各种性能优化技术和尚待解决的问题的基础上,尝试从对垃圾回收方式改进和虚拟机内部结构改造两方面对两个难题提出了解决的新方法。结合在垃圾回收和虚拟机内部结构方面的改进,本文搭建了一个新的改进型嵌入式java虚拟机。 关键词:嵌入式java;虚拟机;垃圾回收
中图分类号:tp307
堆栈式
从1993年美国sun单相轴流风机
公司提出java语言规范和java虚拟机规范的javartyrty
技术以来,关于java的应用和研究就一直呈逐渐上升的趋势。随着互联网的不断发展,java语言以其独特的平台无关性和安全性迅速占领了pc端和server端。现在java技术已经被广泛的应用到了嵌入式领域,形成了嵌入式java技术。嵌入式java技术就是将采用java语言编写的应用程序嵌入到电话、电视、洗衣机、电冰箱等各类消费类电子产品中,使这些设备具有了计算机的计算、执行等部 分功能。并且由于有嵌入式java技术的互联网接口功能,各种嵌入设备可以安全地通过网络接受和执行应用程序[1]。
java挂链语言、jvm和java api是java技术主要组成部分,而jvm(java虚拟机)是其在嵌入式系统应用的主要瓶颈。嵌入式系统与微型计算机系统有很大的差异,所以java语言在嵌入式系统的应用中所出现的问题也常有它自己的特。java蜗轮蜗杆副语言的全新处理方式其关键创新有两点:(1)编译在服务器端进行,编译过程中只是将java源程序编译为与平台无关的字节码型中间代码;(2)客户端上安装了java虚拟机jvm,jvm以解释的方式执行中间代码程序。java语言其独特处理过程如图1所示: 从上面的图可知,经过编译之后java程序所生成的不是能直接在处理器上运行的机器码,而只是在虚拟机上运行的java字节码型中间代码,然后由不同平台上虚拟机根据自己平台将字节码译成其处理器真正可执行的机器码后运行。由于java程序存在这一比较复杂的编译、译码过程,其运行所耗费的时间将会是c交换机面板或c++等高级语言编译的相同功能指令程序的好几倍,甚至几十倍。因此,在java得到广泛应用的同时,也存在一个影响使用的最大问题—执行速度慢。关于如何提高java虚拟机的执行效率方面的研究已经成为了java研究的热点[2]。