版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
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 芯片廠商技術能力 內(nèi)存 價格 功耗 無持久電源矛盾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虛擬機-內(nèi)存gc指標-吞吐量、碎片率沒有最好,只有最合適Java虛擬機-內(nèi)存 移動vs非移動移動式非移動式碎片無有分配效率高低gc效率低(大內(nèi)存特別嚴重)高并行gc可行性業(yè)界無方案可行Java虛擬機-安裝預優(yōu)化提前re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球以太網(wǎng)接入交換機行業(yè)調研及趨勢分析報告
- 二零二五年度國際海運貨物損失賠償協(xié)議3篇
- 2025-2030全球堆棧式CMOS圖像傳感器行業(yè)調研及趨勢分析報告
- 2025-2030全球輸送輪行業(yè)調研及趨勢分析報告
- 二零二五年度財務顧問合作協(xié)議及財務分析報告模板3篇
- 二零二五年度環(huán)保設備安裝施工合同招標文件范本3篇
- 二零二五版?zhèn)€人教育培訓承包合同3篇
- 二零二五年影視拍攝兼職合同3篇
- 二零二五年度鋼管出租與環(huán)保評估與監(jiān)測合同3篇
- 二零二五年度船舶窗簾安裝與維修保養(yǎng)合同3篇
- 人大提案格式范文
- 《那一刻我長大了》五年級語文下冊作文12篇
- 南充化工碼頭管網(wǎng)施工方案(初稿)
- 2023年消防接警員崗位理論知識考試參考題庫(濃縮500題)
- GB/T 30285-2013信息安全技術災難恢復中心建設與運維管理規(guī)范
- 魯濱遜漂流記閱讀任務單
- 第一章 運營管理概論1
- 主體結構驗收匯報材料T圖文并茂
- 管理學原理(南大馬工程)
- 過一個有意義的寒假課件
- 施工現(xiàn)場裝配式集裝箱活動板房驗收表
評論
0/150
提交評論