版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、移動系統(tǒng)中的Java虛擬機徐偉剛Java是一種面向對象的編程語言一次編譯,到處運行全世界有超過1000萬Java開發(fā)者Java簡介1995年Sun公司發(fā)布Java語言1996年發(fā)布JDK1.01999年發(fā)布J2SE、J2EE、J2ME標準2006年Sun以OpenJDK開源Java2009年Oracle收購SunJava發(fā)展簡介-SunJ2ME: Nokia、Jblend、MirandAndroidJava發(fā)展簡介-移動JavaJava虛擬機的性能追求移動系統(tǒng)的限制 CPU 芯片廠商技術能力 內存 價格 功耗 無持久電源矛盾Java虛擬機架構compilerbinary convertorbi
2、nary optimizerinterpreterJITstackheapthreadJNIDebugger & profilerbinary loaderformatenginemechanismJava虛擬機架構Java虛擬機-指令體系Java使用與平臺指令無關的字節(jié)碼虛擬機解釋執(zhí)行字節(jié)碼Java虛擬機-指令模式棧式寄存器式操作數(shù)位置方法調用棧幀虛擬機寄存器解釋器效率指令數(shù)目多,低效指令數(shù)目少,高效編譯器實現(xiàn)難度臨時變量在棧上,易實現(xiàn)需高效的寄存器分配算法進一步優(yōu)化可能與CPU指令相差較大,優(yōu)化難度大與CPU指令較為接近,在匯編解析器、芯片優(yōu)化等方面均有可能進一步優(yōu)化Java虛擬機-指令體
3、系以java代碼為例:a = b + c棧式指令:ILOAD cILOAD bIADDISTORE a寄存器式指令:l_add a, b, cJava虛擬機-解釋器指令分發(fā)for(;) ins = fetch_next_instruction();switch(ins) case OP_001:handle_OP_001;break;case OP_002:handle_OP_002;break;switch-case versionJava虛擬機-解釋器指令分發(fā)handle_addresses;pre-calculate_handle_addresses();for(;) ins = fet
4、ch_next_instruction();goto handle_addressesins;goto-address versionJava虛擬機-解釋器指令分發(fā)#define GOTO_OPCODE(_reg) add pc, rIBASE, _reg, lsl #6.balign 64.L_OP_001: FETCH_ADVANCE_INST GET_INST_OPCODE(ip) GOTO_OPCODE(ip).balign 64.L_OP_002: GOTO_OPCODE(ip)align-goto version(Dalvik ARM)Java虛擬機-JIThot spotfetc
5、h instructioninterpret instructioncompiledcode cachecompile queueinstruction decodeflow graphcode generatorexecute code cacheYNYNinterpreterJIT compilerSSAJust in time compiler 及時將熱代碼翻譯成目標機器指令執(zhí)行Java虛擬機-JIT優(yōu)化點消除指令分發(fā)使用物理寄存器基于目標指令優(yōu)化基于動態(tài)信息優(yōu)化Java虛擬機-JIT優(yōu)化點示例a = b + c;e= a + d;fectch_opload R1 - bload R2
6、- cR3 = R1 + R2store a - R3goto_next_opfectch_opload R1 - aload R2 - dR3 = R1 + R2store e - R3goto_next_opload R1 - bload R2 - cR3 = R1+ R2load R4 - dR5= R3 + R4store e - R5Java虛擬機-對象訪問Java對象 vs C指針gc影響resolveJava虛擬機-內存gc指標-吞吐量、碎片率沒有最好,只有最合適Java虛擬機-內存 移動vs非移動移動式非移動式碎片無有分配效率高低gc效率低(大內存特別嚴重)高并行gc可行性業(yè)界無方案可行Java虛擬機-安裝預優(yōu)化提前re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容院二零二五年度美容儀器租賃及維修服務合同2篇
- 2025年新型銅箔生產(chǎn)線自動化升級改造合同范本3篇
- 二零二五年度城市居民住房按揭貸款合同范本8篇
- 二零二五年度空運貨物出口運輸及保險服務合同2篇
- 二零二五年度文化產(chǎn)業(yè)創(chuàng)新發(fā)展貸款合同模板4篇
- 2025年度智慧城市基礎設施搭建委托協(xié)議4篇
- 2025年度個人二手車買賣合同范本標準版4篇
- 顫音音響發(fā)生器課程設計
- 2024碎石加工廠產(chǎn)品質量追溯體系建立合同范本3篇
- 單元四吊頂與隔墻工程
- 第22單元(二次函數(shù))-單元測試卷(2)-2024-2025學年數(shù)學人教版九年級上冊(含答案解析)
- 安全常識課件
- 河北省石家莊市2023-2024學年高一上學期期末聯(lián)考化學試題(含答案)
- 小王子-英文原版
- 新版中國食物成分表
- 2024年山東省青島市中考生物試題(含答案)
- 河道綜合治理工程技術投標文件
- 專題24 短文填空 選詞填空 2024年中考英語真題分類匯編
- 再生障礙性貧血課件
- 產(chǎn)后抑郁癥的護理查房
- 2024年江蘇護理職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
評論
0/150
提交評論