嵌入式Java虚拟机优化技术

导读:
  维库电子市场网(www.dzsc.com)是国内外知名的电子元器件交易网站,为电子行业的广大用户提供专业的网络资讯服务和电子商务服务。
  嵌入式Java虚拟机优化技术
  无线手持设备市场对Java产生了巨大的需求增长,目前每10台新出手机中就有8台支持Java。本文关注嵌入式设备Java平台的性能问题,详细介绍振戎融通自主研发的Java虚拟机产品——JMO+(JMOplus)的性能优化技术。
  在过去的几年里,Java已经在各个领域得到了广泛的应用,尤其是无线移动领域,全球180多个移动运营商已经推出了Java下载服务。无线手持设备市场对 Java产生了巨大的需求增长,目前每10台新出手机中就有8台支持Java。广大的消费者,运营商,服务/内容提供商以及手机制造商强烈渴望手机的 Java性能更加强劲,支持更多更复杂的应用,为产业链各方带来更多商机和收入,为用户带来更丰富多彩的增值应用。
  北京振戎融通通信技术有限公司(以下简称振戎融通)一直致力于嵌入式Java技术的研究、开发和推广,立志通过对国际先进技术的引进、掌握和创新,迅速实现专有技术的国产化,最终拥有整套先进技术产品的自主知识产权。本文着重关注嵌入式设备Java平台的性能问题,详细介绍振戎融通自主研发的Java虚拟机产品——JMO+(JMOplus)的性能优化技术。
  Java功能和性能支持
  嵌入式Java经过几年的蓬勃发展,所支持的应用越来越丰富,功能也越来越强大,诸如3D游戏、多人联网等更高级的支持也已纷纷涌现。运营商和手机制造商希望出现更具可玩性的游戏,并期望充分利用Java技术发展诸如商务、定位、视频等各种各样的增值服务,以期带来更多收入。
  为了支持这些新的业务,Java虚拟机必须不断集成新的API。因此, JCP(Java Community Process)这一业界唯一的Java标准化机构不断制定、发布相应功能的技术标准。2004年振戎融通公司正式成为JCP成员,并且是几个重要JSR 标准的专家组成员,参与这些标准的制定工作。振戎融通JMO+产品最为广泛的支持了现在比较流行和通用的JSR标准,并根据市场的需求和客户的需要提供一些扩展功能的支持,在功能上能够提供给一个功能强大的移动Java运行平台,能够让用户感受到JAVA的丰富多彩,可以说JMO+产品在功能支持方面处于行业的领先地位。
  北京振戎融通通信技术有限公司针对市场的需求,在JMO+性能方面运用了多种技术进行优化,针对不同的硬件平台采用不同的优化技术,以提供最优的性能体验。
  Java虚拟机的性能瓶颈
  Java 是一种解释执行的语言,它的优势是“一次编译,到处运行”,因此Java具有很好的可移植性,开发和发布Java应用都很便捷,快速上市,节约成本;另外一个优势是Java字节码代码密度高,程序体积较小,便于进行下载,和装入资源有限的嵌入式设备中。这种优势是明显的,但对于嵌入式Java来说,由于其机制而带来了不可避免的性能瓶颈。业界针对这个性能瓶颈都在寻找各自不同的解决之道,振戎融通在这方面也进行深入的研究,在解决这个性能瓶颈的方面取得了不菲的成绩,性能解决方案处于业界领先地位。
  Java性能优化方案
  加快Java执行速度的方法包括几种软件方案,如字节码解释器优化、即时编译器、预先编译器、动态自适应编译(DAC)等。这些方法都能在一定程度上提高Java的性能,但同时也会带来一些负面影响,比如这些软件方案通常会增加对功耗、内存的需求,或是延长启动时间以致系统存在停顿感等现象。
  硬件的解决方案有专用Java处理器和Java协处理器,以及ARM推出的Jazelle DBX硬件指令集。这些方案在解决Java的效率方面的确发挥了重要作用,并有可能是今后的一个发展方向,特别是Jazelle技术。但是,硬件的解决方案将增加硬件成本和嵌入式设备系统的设计成本,并降低灵活性,这是设备制造商不愿意接受。因此,硬件的解决方案可以用于高端市场,但对成本敏感的中低端市场来说,该方案存在成本压力。
  JIT和AOT编译器
  JIT或AOT编译器是把字节码动态地编译成目标平台的本地码,然后直接执行。顾名思义,AOT编译方案就是在应用下载完后编译所有代码,而实际上,某些代码很有可能根本就执行不到。JIT编译方案则是在运行到某段代码之前,才对这一段代码作即时编译。这种即时处理策略会让用户在选择启动应用程序后,需要等待很长一段时间,程序才真正运行起来。另外,有研究显示,动态编译会导致代码大小增大4~6倍。因此,除了降低应用程序的启动速度外,无论JIT还是AOT方案,都需要很大的额外内存来保存编译生成的本地码。
  DAC动态自适应编译
  动态自适应编译(DAC)是一种弥补JIT编译器缺点的方法。它采用通常被称为的混合软件方案,可以被看成是JIT编译器和字节码解释器的组合。在开始阶段,程序解释器开始执行,同时软件对代码进行分析并决定哪些关键代码需要被编译,这些关键代码被鉴别出来后,即被编译成本地码运行。
  Jazelle DBX技术
  Jazelle DBX是一种硬件架构扩展技术,为ARM处理器引入了第三套指令集—Java字节码。新指令集建立了一种新的状态,处理器在此状态下处理Java字节码取指、译码和维护Java操作数栈。这种硬件架构扩展技术,重用已有的处理器资源不会增加额外的硬件成本和功耗,带扩展的内核能够同时执行Java字节码及本地码,开发者可以充分利用已有的操作系统、应用程序开发技术,在Java程序可移植性和性能之间取得很好的平衡。
  JMOplus的性能优化方案
  振戎融通在解决性能优化问题时,深入的分析了目前的软件和硬件的解决方案,总结其中的优势和弊端,综合运用了这些优化方法,并进行了相应的改进。
  每一种优化方法都有其存在的道理,针对某种情况的优化效果是最好的,但在某种情况下,其弊端表现的又十分的明显,我们经过了大量的实际测试数据,将各种性能优化方案有机的结合在一起,让他们共同发挥作用,即解决了性能的优化,又在相当的程度上避免因为引入优化算法而带来的负面影响。
  比如采用 AOT和DAC的结合方案,通过大量的应用测试数据统计分析,找出调用频度最高的Java API进行AOT,这样即得到了AOT的快速执行,又最大限度的控制了因为AOT而带来的体积膨胀,优化DAC的选择算法,使得Java虚拟机避免陷入盲目的编译过程,制定DAC的执行时机,在应用启动时,关闭DAC功能,这样不会因为DAC的编译而让用户忍受漫长的应用启动阶段。
  根据不同的终端,动态的调整AOT和DAC的搭配比例,比如,在RAM相对ROM空间需求宽松时,将DAC的比例提高;在ROM相对RAM空间需求相对宽松时,将AOT的比例提高。
  在支持Jazelle指令集的情况下,加入Jazelle加速技术,并调整AOT和DAC的相关参数,将Jazelle支持的Java指令,并不进行AOT和DAC的优化,而直接由芯片直接执行,这样即增加了效率而且节省了功耗。
  还进行市场的进一步细分,比如针对游戏市场,定位市场,商务市场等,每个细分市场,其运行的Java应用都会有所侧重,进而其使用和调用的Java API的频度分布也是不同的,根据调用频度的分布,调节AOT和DAC在不同市场的优化方案会更加有效。
  振戎融通不仅拥有了先进的性能优化技术,并且更深入的挖掘优化的细节,使得JMO+产品在业界处于领先的地位。经过业界权威测试工具测试比较表明,JMO+在功能、性能和质量上已经达到了国际先进水平。目前JMO+已经获得摩托罗拉、三星、LG、SKTT、TCL、UT等国内外主流手机厂商采用,已经有近 20款、100万台手机采用,成功取得了规模化商用。

本文转自
http://www.dzsc.com/data/html/2007-11-24/50639.html
嵌入式系统通常对于资源和执行效率有严格的约束,导致了应用于嵌入式系统中的操作系统通常都提供非常有限的编程接口和系统支持。因此对于传统的嵌入式系统开发人员来说,开发难度相对较大,开发效率也相对较低。Java的出现缓解了这一情况。由于Java的跨平台特性,大批应用程序开发人员可以脱离硬件平台,在桌面的虚拟环境中开发嵌入式应用程序。 与传统的Java虚拟机不同,YJVM(Yet another JVM)是运行在嵌入式Linux内核中的Java虚拟机。实现了解释执行Java字节码、线程管理、执行环境管理、集成Classpath核心类库等基本功能。它可以使Linux在内核层次上支持Java的字节码,从而减少了软件层次、为提高效率留下空间。另外,YJVM中还构造了Java的进程管理,为在嵌入式环境中运行Java程序提供了更安全的环境。不同于纯粹用Java来实现的操作系统的尝试,这个方案更充分利用了现有的操作系统的实践成果,在不牺牲Java跨平台特性的前提下,更有实用价值。 本文从对嵌入式操作系统的讨论入手,结合Java虚拟机的原理和研究状况阐述了YJVM的设计和实现要点,体现了YJVM相比现有的嵌入式Java解决方案和Java操作系统的优势。本文的主要研究内容及成果包括: 1、作为一种嵌入式操作系统,嵌入式Linux的基本结构和与传统嵌入式操作系统相比的特点和优势。 2、嵌入式Java的传统解决方案和Java操作系统的基本结构。以及他们对于YJVM设计的影响和异同。 3、Java虚拟机的工作原理和结构。在YJVM中Java虚拟机的结构和实现方案之间的具体映射。 4、YJVM中程序装载、解释器、进程管理、垃圾收集和对Classpath核心类库集成的具体实现要点. 5、测试方案的制定的依据和结果;测试例程的构造和选择;测试结果的分析和在此基础上提出的改进和发展方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值