当前位置:首页 > 单片机 > 单片机
[导读]无线手持设备市场对Java产生了巨大的需求增长,目前每10台新出手机中就有8台支持Java。本文关注嵌入式设备Java平台的性能问题,详细介绍振戎融通自主研发的Java虚拟机产品——JMO+(JMOplus)的性能优化技

无线手持设备市场对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万台手机采用,成功取得了规模化商用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭