移动系统中的Java虚拟机 徐伟刚.

Slides:



Advertisements
Similar presentations
1 曾老師、各位同學大家好 ! 首先自我介紹 ; 個人聯合大學電機系 畢業,服完兩年兵役後, 75 年開始就 業 ; 四年內換了幾個工作, 79 年創立貿 特科技, 90 年、 91 年分別於大陸寧波 與昆山設立特一電子與柏特電子,經 歷 20 年的工作磨鍊,今天事業上算是 穩定、成熟 ! 承蒙曾老師看重,利用一.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
中正國中 特教組長 粘玉芳 校內分機 : /02/21. 下列條件擇一: 一、身心障礙手冊 二、特殊教育學生鑑定及就學輔導會證明.
第十届中小学 NOC 活动 学生竞赛项目 -- 信息科技类 程序设计 培 训 讲 义 孙建华. 要点  程序设计是技术与艺术相结合的赛项。每一 个程序都来源于一种观念、一个想法、一项 创意,其实现水平有赖于技术手段,其优劣 有赖于用户检验。程序设计的过程是表达和 表现作者创造性的过程。  本赛项的要点是:用户群体需求定位恰当的.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
示範課 -- 作文立意. 重溫作文構思課  構思嘗試深化  多角度思考  宜先剖析題目, 運用聯想, 循序漸進擴大範圍, 然後歸納材料, 定訂主題  同學的作品, 反映部分能夠掌握, 主線清晰, 層 層深入, 舉例恰當  但有部分同學只有枝葉, 欠缺主線, 更無中心思 想, 反映立意不足.
幼教人員法律事件探討 ─ 幼兒教育及照顧法 姚其壯 第一章 總則〈第一條至第六條〉 第二章 幼稚園設立及其教保服務 〈第七條至第十四條〉 第三章 幼稚園組織與人員資格及權益 〈第十五條至第二十八條〉 第四章 幼稚權益保障 〈第二十九條至第三十三條〉 第五章 家長之權利與義務 〈第三十四條至第四十條〉
畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的? V.S 動動腦 V.S 動動腦 慎重 讓人感到 尊重 輕便 讓人聯想 隨便 畫面中的兩個人要去參加金融業儲備幹部的面試 活動,你認為誰的面試穿著是正確的?
高考心理辅导  福建中医药大学  林山  高考是什么?  真有那么 “ 苦大仇深 ” ?  为什么不能是 “ 快乐挑战 ” ?  高考(事) --- 认知(怎么个事 - 压力大小) --- 情绪反应(烦躁、焦虑、害怕 VS 自信、 从容、期盼) --- 行为表现(发挥正常.
平面构成 第六章 平面构成形式与法则 — 破规与变异. 第七章 平面构成形式与法则 — 破规与变异 破规与变异构成的形式、有下列四类: 一、特异构成 特异构成。其表现特征是,在普遍相同性质的事物 当中,有个别异质性的事物,便会立即显现出来。
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
社工之路的通行證 --- 社工師證照 考試心得分享 東吳大學社工系碩一 呂錦綸. 一、考前準備 閱讀主流老師的書籍、掌握各科概要。 閱讀主流老師的書籍、掌握各科概要。 重視概念性的知識,打好基礎是很重要低 ~ 重視概念性的知識,打好基礎是很重要低 ~ 是必備讀物 ! 是必備讀物 ! 勤作考古題,參考當年度碩士班考試及高.
企业所得税纳税 申报表简介 2017/2/24 大连国税.
心理学辅导.
友情提示:课件仅是理论探讨,不作为执法依据。
如何做個稱職的父母 財團法人雲林縣雲萱婦幼文教基金會 王招萍.
國小學童財金生活教育 主講人: 秘書長陳琬惠 社團法人中華民國財金智慧教育推廣協會.
兩岸融合教育之議題: 以東莞台商子弟學校為例
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
   時間 國立臺南師範學院數學教育系     謝  堅.
程焕文 中山大学资讯管理学院 2015年10月17日 山东·临沂
課程地圖 (104年入學-日間部) 校通識核心 專業課程 必修與選修 與管理模組 網路技術 App設計與應用模組 學院通識核心 學院專業核心
小綠葉蟬的『祕蜜』~ 蜜香烏龍茶.
個人投資理財與策略 富蘭克林:邱良弼.
穿越迷雾,读懂全球化经济本质 谈美国次贷危机与人民币升值问题.
NEUSOFT Institute of information Technology .ChengDu
C语言程序设计 李伟光.
我征服了黃山 林達的黃山之旅 2006春.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
第一章 認識程式語言.
建構 Beta電腦 – Fall /29/0.
阿里JVM之路 阿里云事业部 GreenTeaJUG 费辉.
  中国技术交易信息服务平台 中国技术市场管理促进中心.
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
7--11便利店.
最新計算機概論 第3章 計算機組織.
内部审计程序 计划阶段:审计计划 实施阶段:审计证据 报告阶段:审计报告 后续审计:.
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
和大樹做朋友 一起去探索兒童公園的動植物生態吧! 財源老師技術指導、詩韻老師整理製作.
第 5 章 流程控制 (一): 條件分支.
程設一.
荷福威士顿机器人科技有限公司 上海荷福集团
屬於 的 9 4 暑 期 國 文 課 夏日派對!.
性能测试培训 在组设置中可使用此模板作为演示培训材料的起始文件。 节
新世代計算機概論 第14章 程式語言.
作業系統的結構 日期 : 2018/9/17.
存储器的层次结构 512KB~8MB 400GB/S 1~8GB 12GB/S CPU Cache RAM 500GB DISK
程設一.
PC2 安裝說明文件 2018/11/12.
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
JDK的安裝.
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
5 Computer Organization (計算機組織).
第一章 電腦、程式與JAVA.
嵌入式微处理器系统 第二章 处理器技术(1) 北京大学软件与微电子学院.
2018/12/7 Java语言程序设计 教师:段鹏飞.
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
第8章 記憶體管理的概念.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
程式設計 老師:戴自強 助教:楊斯竣.
第 1 章 Java 簡介.
CISC vs. RISC 複雜指令集電腦(Complex Instruction Set Computer: CISC)
面向对象 程序设计语言基础 马骏
代码优化.
美麗的西子湖.
方格紙上畫正方形.
程式語言簡介 2019/7/17 明乘中學編製.
县级支中心 乡镇基层服务点的建设 朱 庆 华.
Presentation transcript:

移动系统中的Java虚拟机 徐伟刚

Java简介 Java是一种面向对象的编程语言 一次编译,到处运行 全世界有超过1000万Java开发者

1995年Sun公司发布Java语言 1996年发布JDK1.0 1999年发布J2SE、J2EE、J2ME标准 Java发展简介-Sun 1995年Sun公司发布Java语言 1996年发布JDK1.0 1999年发布J2SE、J2EE、J2ME标准 2006年Sun以OpenJDK开源Java 2009年Oracle收购Sun

J2ME: Nokia、Jblend、Mirand Java发展简介-移动Java J2ME: Nokia、Jblend、Mirand Android

矛盾 Java虚拟机的性能追求 移动系统的限制 CPU – 芯片厂商技术能力 内存 – 价格 功耗 – 无持久电源

Java虚拟机架构 compiler binary convertor binary optimizer interpreter JIT stack heap thread JNI Debugger & profiler binary loader format engine mechanism Java虚拟机架构

Java虚拟机-指令体系 Java使用与平台指令无关的字节码 虚拟机解释执行字节码

Java虚拟机-指令模式 栈式 寄存器式 操作数位置 方法调用栈帧 虚拟机寄存器 解释器效率 指令数目多,低效 指令数目少,高效 编译器实现难度 临时变量在栈上,易实现 需高效的寄存器分配算法 进一步优化可能 与CPU指令相差较大,优化难度大 与CPU指令较为接近,在汇编解析器、芯片优化等方面均有可能进一步优化

Java虚拟机-指令体系 以java代码为例: a = b + c 栈式指令: ILOAD c ILOAD b IADD ISTORE a 寄存器式指令: l_add a, b, c

Java虚拟机-解释器指令分发 for(;;) { ins = fetch_next_instruction(); switch(ins) { case OP_001: handle_OP_001; break; case OP_002: handle_OP_002; …… } switch-case version

Java虚拟机-解释器指令分发 handle_addresses[]; …… pre-calculate_handle_addresses(); for(;;) { ins = fetch_next_instruction(); goto handle_addresses[ins]; } goto-address version

Java虚拟机-解释器指令分发 #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) .L_OP_002: align-goto version(Dalvik ARM)

interpret instruction Java虚拟机-JIT Just in time compiler – 及时将热代码翻译成目标机器指令执行 hot spot fetch instruction interpret instruction compiled code cache compile queue instruction decode flow graph code generator execute code cache Y N interpreter JIT compiler SSA

Java虚拟机-JIT优化点 消除指令分发 使用物理寄存器 基于目标指令优化 基于动态信息优化

Java虚拟机-JIT优化点示例 a = b + c; e= a + d; fectch_op load R1 <- b load R2 <- c R3 = R1 + R2 store a <- R3 goto_next_op load R1 <- a load R2 <- d store e <- R3 load R1 <- b load R2 <- c R3 = R1+ R2 load R4 <- d R5= R3 + R4 store e <- R5

Java虚拟机-对象访问 Java对象 vs C指针 gc影响 resolve

Java虚拟机-内存 gc指标-吞吐量、碎片率 没有最好,只有最合适

Java虚拟机-内存 移动vs非移动 移动式 非移动式 碎片 无 有 分配效率 高 低 gc效率 低(大内存特别严重) 并行gc可行性 业界无方案 可行

Java虚拟机-安装预优化 提前resolve 函数inline/JIT inline

Java虚拟机-功耗 受目标芯片架构限制 例如ARM ? Thumb?

Java虚拟机-发展 编译器优化 动态特性 字节码native化 定制化内存管理

谢谢