<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式設備Java平臺及其虛擬機技術(shù)

嵌入式設備Java平臺及其虛擬機技術(shù)

作者: 時(shí)間:2012-04-21 來(lái)源:網(wǎng)絡(luò ) 收藏

無(wú)線(xiàn)手持設備市場(chǎng)對Java產(chǎn)生了巨大的需求增長(cháng),目前每10臺新出手機中就有8臺支持Java。本文關(guān)注嵌入式設備的性能問(wèn)題,詳細介紹振戎融通自主研發(fā)的Java產(chǎn)品——JMO+(JMOplus)的技術(shù)。

在過(guò)去的幾年里,Java已經(jīng)在各個(gè)領(lǐng)域得到了廣泛的應用,尤其是無(wú)線(xiàn)移動(dòng)領(lǐng)域,全球180多個(gè)移動(dòng)運營(yíng)商已經(jīng)推出了Java下載服務(wù)。無(wú)線(xiàn)手持設備市場(chǎng)對 Java產(chǎn)生了巨大的需求增長(cháng),目前每10臺新出手機中就有8臺支持Java。廣大的消費者,運營(yíng)商,服務(wù)/內容提供商以及手機制造商強烈渴望手機的 Java性能更加強勁,支持更多更復雜的應用,為產(chǎn)業(yè)鏈各方帶來(lái)更多商機和收入,為用戶(hù)帶來(lái)更豐富多彩的增值應用。

北京振戎融通通信技術(shù)有限公司(以下簡(jiǎn)稱(chēng)振戎融通)一直致力于嵌入式Java技術(shù)的研究、開(kāi)發(fā)和推廣,立志通過(guò)對國際先進(jìn)技術(shù)的引進(jìn)、掌握和創(chuàng )新,迅速實(shí)現專(zhuān)有技術(shù)的國產(chǎn)化,最終擁有整套先進(jìn)技術(shù)產(chǎn)品的自主知識產(chǎn)權。本文著(zhù)重關(guān)注嵌入式設備的性能問(wèn)題,詳細介紹振戎融通自主研發(fā)的Java產(chǎn)品—— JMO+(JMOplus)的技術(shù)。

Java功能和性能支持

嵌入式Java經(jīng)過(guò)幾年的蓬勃發(fā)展,所支持的應用越來(lái)越豐富,功能也越來(lái)越強大,諸如3D游戲、多人聯(lián)網(wǎng)等更高級的支持也已紛紛涌現。運營(yíng)商和手機制造商希望出現更具可玩性的游戲,并期望充分利用 Java技術(shù)發(fā)展諸如商務(wù)、定位、視頻等各種各樣的增值服務(wù),以期帶來(lái)更多收入。

為了支持這些新的業(yè)務(wù),Java必須不斷集成新的API。因此, JCP(Java Community Process)這一業(yè)界唯一的Java標準化機構不斷制定、發(fā)布相應功能的技術(shù)標準。 2004年振戎融通公司正式成為JCP成員,并且是幾個(gè)重要JSR 標準的專(zhuān)家組成員,參與這些標準的制定工作。振戎融通JMO+產(chǎn)品最為廣泛的支持了現在比較流行和通用的JSR標準,并根據市場(chǎng)的需求和客戶(hù)的需要提供一些擴展功能的支持,在功能上能夠提供給一個(gè)功能強大的移動(dòng)Java運行平臺,能夠讓用戶(hù)感受到JAVA的豐富多彩,可以說(shuō)JMO+產(chǎn)品在功能支持方面處于行業(yè)的領(lǐng)先地位。

北京振戎融通通信技術(shù)有限公司針對市場(chǎng)的需求,在JMO+性能方面運用了多種技術(shù)進(jìn)行優(yōu)化,針對不同的硬件平臺采用不同的優(yōu)化技術(shù),以提供最優(yōu)的性能體驗。

Java虛擬機的性能瓶頸

Java 是一種解釋執行的語(yǔ)言,它的優(yōu)勢是“一次編譯,到處運行”,因此Java具有很好的可移植性,開(kāi)發(fā)和發(fā)布Java應用都很便捷,快速上市,節約成本;另外一個(gè)優(yōu)勢是Java字節碼代碼密度高,程序體積較小,便于進(jìn)行下載,和裝入資源有限的嵌入式設備中。這種優(yōu)勢是明顯的,但對于嵌入式Java來(lái)說(shuō),由于其機制而帶來(lái)了不可避免的性能瓶頸。業(yè)界針對這個(gè)性能瓶頸都在尋找各自不同的解決之道,振戎融通在這方面也進(jìn)行深入的研究,在解決這個(gè)性能瓶頸的方面取得了不菲的成績(jì),性能解決方案處于業(yè)界領(lǐng)先地位。

Java方案

加快Java執行速度的方法包括幾種軟件方案,如字節碼解釋器優(yōu)化、即時(shí)編譯器、預先編譯器、動(dòng)態(tài)自適應編譯(DAC)等。這些方法都能在一定程度上提高Java的性能,但同時(shí)也會(huì )帶來(lái)一些負面影響,比如這些軟件方案通常會(huì )增加對功耗、內存的需求,或是延長(cháng)啟動(dòng)時(shí)間以致系統存在停頓感等現象。

硬件的解決方案有專(zhuān)用Java處理器和 Java協(xié)處理器,以及ARM推出的Jazelle DBX硬件指令集。這些方案在解決Java的效率方面的確發(fā)揮了重要作用,并有可能是今后的一個(gè)發(fā)展方向,特別是Jazelle技術(shù)。但是,硬件的解決方案將增加硬件成本和嵌入式設備系統的設計成本,并降低靈活性,這是設備制造商不愿意接受。因此,硬件的解決方案可以用于高端市場(chǎng),但對成本敏感的中低端市場(chǎng)來(lái)說(shuō),該方案存在成本壓力。

JIT和AOT編譯器

JIT或 AOT編譯器是把字節碼動(dòng)態(tài)地編譯成目標平臺的本地碼,然后直接執行。顧名思義,AOT編譯方案就是在應用下載完后編譯所有代碼,而實(shí)際上,某些代碼很有可能根本就執行不到。JIT編譯方案則是在運行到某段代碼之前,才對這一段代碼作即時(shí)編譯。這種即時(shí)處理策略會(huì )讓用戶(hù)在選擇啟動(dòng)應用程序后,需要等待很長(cháng)一段時(shí)間,程序才真正運行起來(lái)。另外,有研究顯示,動(dòng)態(tài)編譯會(huì )導致代碼大小增大4~6倍。因此,除了降低應用程序的啟動(dòng)速度外,無(wú)論JIT還是AOT方案,都需要很大的額外內存來(lái)保存編譯生成的本地碼。

DAC動(dòng)態(tài)自適應編譯

動(dòng)態(tài)自適應編譯(DAC)是一種彌補 JIT編譯器缺點(diǎn)的方法。它采用通常被稱(chēng)為的混合軟件方案,可以被看成是JIT編譯器和字節碼解釋器的組合。在開(kāi)始階段,程序解釋器開(kāi)始執行,同時(shí)軟件對代碼進(jìn)行分析并決定哪些關(guān)鍵代碼需要被編譯,這些關(guān)鍵代碼被鑒別出來(lái)后,即被編譯成本地碼運行。

Jazelle DBX技術(shù)

Jazelle DBX 是一種硬件架構擴展技術(shù),為ARM處理器引入了第三套指令集—Java字節碼。新指令集建立了一種新的狀態(tài),處理器在此狀態(tài)下處理Java字節碼取指、譯碼和維護Java操作數棧。這種硬件架構擴展技術(shù),重用已有的處理器資源不會(huì )增加額外的硬件成本和功耗,帶擴展的內核能夠同時(shí)執行Java字節碼及本地碼,開(kāi)發(fā)者可以充分利用已有的操作系統、應用程序開(kāi)發(fā)技術(shù),在Java程序可移植性和性能之間取得很好的平衡。

JMOplus的性能優(yōu)化方案

振戎融通在解決性能優(yōu)化問(wèn)題時(shí),深入的分析了目前的軟件和硬件的解決方案,總結其中的優(yōu)勢和弊端,綜合運用了這些優(yōu)化方法,并進(jìn)行了相應的改進(jìn)。

每一種優(yōu)化方法都有其存在的道理,針對某種情況的優(yōu)化效果是最好的,但在某種情況下,其弊端表現的又十分的明顯,我們經(jīng)過(guò)了大量的實(shí)際測試數據,將各種性能優(yōu)化方案有機的結合在一起,讓他們共同發(fā)揮作用,即解決了性能的優(yōu)化,又在相當的程度上避免因為引入優(yōu)化算法而帶來(lái)的負面影響。

比如采用 AOT和DAC的結合方案,通過(guò)大量的應用測試數據統計分析,找出調用頻度最高的Java API進(jìn)行AOT,這樣即得到了AOT的快速執行,又最大限度的控制了因為AOT而帶來(lái)的體積膨脹,優(yōu)化DAC的選擇算法,使得Java虛擬機避免陷入盲目的編譯過(guò)程,制定DAC的執行時(shí)機,在應用啟動(dòng)時(shí),關(guān)閉DAC功能,這樣不會(huì )因為DAC的編譯而讓用戶(hù)忍受漫長(cháng)的應用啟動(dòng)階段。

根據不同的終端,動(dòng)態(tài)的調整AOT和DAC的搭配比例,比如,在RAM相對ROM空間需求寬松時(shí),將DAC的比例提高;在ROM相對RAM空間需求相對寬松時(shí),將AOT的比例提高。

在支持Jazelle指令集的情況下,加入Jazelle加速技術(shù),并調整AOT和DAC的相關(guān)參數,將Jazelle支持的Java指令,并不進(jìn)行AOT和DAC的優(yōu)化,而直接由芯片直接執行,這樣即增加了效率而且節省了功耗。

還進(jìn)行市場(chǎng)的進(jìn)一步細分,比如針對游戲市場(chǎng),定位市場(chǎng),商務(wù)市場(chǎng)等,每個(gè)細分市場(chǎng),其運行的Java應用都會(huì )有所側重,進(jìn)而其使用和調用的Java API的頻度分布也是不同的,根據調用頻度的分布,調節AOT和DAC在不同市場(chǎng)的優(yōu)化方案會(huì )更加有效。

振戎融通不僅擁有了先進(jìn)的性能優(yōu)化技術(shù),并且更深入的挖掘優(yōu)化的細節,使得JMO+產(chǎn)品在業(yè)界處于領(lǐng)先的地位。經(jīng)過(guò)業(yè)界權威測試工具測試比較表明,JMO+在功能、性能和質(zhì)量上已經(jīng)達到了國際先進(jìn)水平。目前JMO+已經(jīng)獲得摩托羅拉、三星、LG、SKTT、TCL、UT等國內外主流手機廠(chǎng)商采用,已經(jīng)有近 20款、100萬(wàn)臺手機采用,成功取得了規?;逃?。

本文引用地址:http://dyxdggzs.com/article/257560.htm


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>