- 浏览: 25644 次
- 性别:
- 来自: 北京
最新评论
大家好,上一讲我们介绍了Android.Framework源码下载及编译,这一讲我们将进入虚拟机概述,JIT概述
课程目标:
知道虚拟机的概念,JVM , JIT
重点难点:
虚拟机带来的好处
考核目标:
C++ 和 Java编译上的区别 应用层代码不修改,为何有时候可以编译过,有时候编译不过 ?
什么是虚拟机?
一种抽象,一种仿真
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
An efficient, isolated duplicate of a real machine. –Popek and Goldberg 1974
System virtual machine:一个系统的仿真和抽象,可供一个或多个操作系统在上面运行。Eg: VM Ware, QEMU, KVM
虚拟机指令集可与硬件CPU指令不同
提供隔离isolation
Process virtual machine:只供一个进程的仿真执行 Eg:JVM(Java Virtual Machine), Microsoft .NET
提供可移植性(portability)
WORA, Write once, run anywhere. --Slogan of Sun Microsystem
虚拟的机器:4G内存,标准的IO
WORA: Write Once, Compile once, run everywhere
应用程序和Bytecode编译器独立于硬件(machine-independent)
虚拟机软件仿真要实现指令集转换,虚拟地址物理地址的转换,代价慢!Java刚问世时比C/C++ 慢20X+
什么是JIT
改进:实时编译JIT(Just in Time) compiler
只有新的Bytecode指令需要编译
A typical program with loops and repeated function calls should execute 10x faster using JIT.
No free lunch:需要储存空间,占内存(memory footprint)
啥叫实时? 编译什么? When and What to compile?
Method invoke time? Instruction fetch time? Application launch time?
Whole program? A page? Method? Single instruction?
A compiler's primary function is to compile, organize the compilation, and go right back to compiling. It compiles basically only those things that require to be compiled, ignoring things that should not be compiled. The main way a compiler compiles, is to compile the things to be compiled until the compilation is complete.
汇编器,链接器,加载器
汇编器(Assembler): 转换标签(Tag)为偏移量(offset),汇编语言的IDE,
链接器(Linker):多个目标文件和库变为一个可执行文件或新的库
静态vs动态链接
编译过的常用库二进制码只存一处
更新方便,but … DLL Hell
加载器(Loader):加载到内存:execve().
本讲对虚拟机概述,JIT概述,下一讲将进入Handler-不可缺少的异步_
上,内容预告:AFF110529_Handler-不可缺少的异步_上,敬请期待。
特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://www.tudou.com/programs/view/eMFpniJRUJY/ (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)
课程目标:
知道虚拟机的概念,JVM , JIT
重点难点:
虚拟机带来的好处
考核目标:
C++ 和 Java编译上的区别 应用层代码不修改,为何有时候可以编译过,有时候编译不过 ?
什么是虚拟机?
一种抽象,一种仿真
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
An efficient, isolated duplicate of a real machine. –Popek and Goldberg 1974
System virtual machine:一个系统的仿真和抽象,可供一个或多个操作系统在上面运行。Eg: VM Ware, QEMU, KVM
虚拟机指令集可与硬件CPU指令不同
提供隔离isolation
Process virtual machine:只供一个进程的仿真执行 Eg:JVM(Java Virtual Machine), Microsoft .NET
提供可移植性(portability)
WORA, Write once, run anywhere. --Slogan of Sun Microsystem
虚拟的机器:4G内存,标准的IO
WORA: Write Once, Compile once, run everywhere
应用程序和Bytecode编译器独立于硬件(machine-independent)
虚拟机软件仿真要实现指令集转换,虚拟地址物理地址的转换,代价慢!Java刚问世时比C/C++ 慢20X+
什么是JIT
改进:实时编译JIT(Just in Time) compiler
只有新的Bytecode指令需要编译
A typical program with loops and repeated function calls should execute 10x faster using JIT.
No free lunch:需要储存空间,占内存(memory footprint)
啥叫实时? 编译什么? When and What to compile?
Method invoke time? Instruction fetch time? Application launch time?
Whole program? A page? Method? Single instruction?
A compiler's primary function is to compile, organize the compilation, and go right back to compiling. It compiles basically only those things that require to be compiled, ignoring things that should not be compiled. The main way a compiler compiles, is to compile the things to be compiled until the compilation is complete.
汇编器,链接器,加载器
汇编器(Assembler): 转换标签(Tag)为偏移量(offset),汇编语言的IDE,
链接器(Linker):多个目标文件和库变为一个可执行文件或新的库
静态vs动态链接
编译过的常用库二进制码只存一处
更新方便,but … DLL Hell
加载器(Loader):加载到内存:execve().
本讲对虚拟机概述,JIT概述,下一讲将进入Handler-不可缺少的异步_
上,内容预告:AFF110529_Handler-不可缺少的异步_上,敬请期待。
特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://www.tudou.com/programs/view/eMFpniJRUJY/ (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)
发表评论
-
《2012Sundy高级课程更新》Android深入浅出系列课程文章列表
2012-03-15 10:25 1720既然是一个系列的教程 ... -
Android开发视频教程-深入浅出系列Lesson20-AFF111029学习Android界面开发的基础
2012-03-19 09:37 1614课程目标: 学习和掌握Android界面开发学习方法 了解An ... -
Android开发视频教程-深入浅出系列Lesson19-AFF110727_蓝牙编程入门
2012-03-19 09:38 1809课程目标 知道蓝牙是什么,能够做什么,知道常用蓝牙的API ... -
Android开发视频教程-深入浅出系列Lesson18-SPI110723_Mobile.Widget概述
2012-03-16 09:39 893· 课程目标: 知道Mobile Widget概念 , 知道其 ... -
Android深入浅出系列课程---Lesson17-在Android2.2以上实现MobileWidget
2012-03-16 09:36 1057大家好,上一讲我们介绍了虚拟机概述,JIT概述,这一讲我们将进 ... -
Android深入浅出系列课程---Lesson16-AFF110606_AsyncTask异步任务
2012-03-16 09:35 959大家好,上一讲我们介绍了Handler-不可缺少的异步,这一讲 ... -
Android深入浅出系列课程---Lesson15LLY110602_Dalvik虚拟机概述
2012-03-16 09:35 1134更多Android深入浅出课程列表:http://www.eo ... -
Android深入浅出系列课程---Lesson14Handler-不可缺少的异步
2012-03-16 09:33 928大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson12 AFF110525_Android多线程系统概要
2012-03-15 10:42 1024大家好,上一讲我们介绍了Android.Framework源码 ... -
Android深入浅出系列课程--Lesson11 Android.Framework源码下载及编译
2012-03-15 10:29 2199大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson10 SHW110518_关于课程顺序的说明
2012-03-15 10:28 857大家好,上一讲我们介绍了ActivityWindowView的 ... -
Android深入浅出系列课程---Lesson9 AAF110430_ActivityWindowView的关系
2012-03-14 10:39 1035更多Android深入浅出课程列表:http://www.eo ... -
Android深入浅出系列课程---Lesson8 Android应用程序启动
2012-03-14 10:37 1130特别推荐新课程:Android ... -
Android深入浅出系列课程---Lesson7 LLY110426_Android系统启动
2012-03-14 10:35 734大家好,上一讲我们介绍了Activity状态保存,这一讲我们将 ... -
Android深入浅出系列课程---Lesson6 AAF110503_Activity状态保存
2012-03-14 10:32 869大家好,上一讲我们介绍了Android中Activity是什么 ... -
Android深入浅出系列课程---Lesson5 AAF110502_Activity是什么
2012-03-14 10:28 840大家好,上一讲我们介绍了Manifest文件的使用,这一讲我们 ... -
Android深入浅出系列课程---Lesson4-AAF110429_介绍Manifest文件的使用
2012-03-13 13:33 976大家好,上一讲我们介绍了进程生命周期(Process Life ... -
Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Process Lifecycle
2012-03-13 13:15 950大家好,上一讲我们介 ... -
Android深入浅出系列课程---Lesson2 AAF110426_Log打开android大门
2012-03-13 13:12 907大家好,上一讲对Android中Context的介绍,这一讲将 ... -
Android深入浅出系列课程---Lesson1 AAF110430_android中context介绍
2012-03-13 13:06 812大家好,这一讲我们来介绍下Android中Context 一、 ...
相关推荐
本人自己编写的!!!!!看看这样做的怎么样
二次规划的源代码,主要用于数值分析。。。。。。。
1.地图的基本特性: 1.各种典型投影 1.角度无变形 2.标准纬线无变形 3.沿经度方向,长度变形从标准纬线向两级变形逐渐增大 1.两条割线上没有变形 2.中
安装库的位置:C:\Users\LLY\AppData\Local\Arduino15\staging\libraries\SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library-1.1.1\SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library-1.1.1\examples\...
pyhdf-0.10.1-cp36-cp36m-win_amd64.whl Python读取hdf文件 - XerCis的博客 - CSDN博客 https://blog.csdn.net/lly1122334/article/details/102493134
管理员仍在更新中。 。 。
信息技术在物流领域的应用 -------lly 信息技术在物流领域的应用全文共5页,当前为第1页。 信息技术在物流领域的应用全文共5页,当前为第1页。 一 基本概念: 物流是指为了满足客户的需求,以最低的成本,通过运输...
VMware vCenter Server 6.7 U3 VMware vCenter Server Appliance File size: 3.93 GB File type: iso Name: VMware-VCSA-all-6.7.0-14367737.iso Release Date: 2019-08-20 Build Number: 14367737 ...
适用于64位Windows操作系统,Python...xgboost.libpath.XGBoostLibraryNotFound: Cannot find XGBoost Library in the candidate path, did you-CSDN博客 https://blog.csdn.net/lly1122334/article/details/104354054
lly阶段汇报中铁快运内部诊断报告.pptx
VMware-VCSA-all-6.7.0-14836122.iso VMware-VMvisor-Installer-7.0.0-14896552.x86_64.iso VMware-ESXi-7.0.0-14896552-depot.zip vSphere-Trust-Authority-PowerCLI.zip VMware-VirtualSAN-Witness-7.0.0-...
一、移植mosquitto 进入openwrt,make menuconfig选择Libraries选中libmosquitto-nossl和libncurses,保存退出。再选择Network选中mosquitto,保存退出,然后make V=99,将编译好的固件openwrt-ramips-mt7688-...
TFLearn实现ConvNet对CIFAR-10分类 - lly1122334的博客 - CSDN博客 https://blog.csdn.net/lly1122334/article/details/87794186
e ffe c tive a lg o r ithm but ha s b e e n g e ne r a lly c r itic iz e d fo r its c o mputa tio na l c o m-ple x ity, la ck o f e litis m a nd fo r cho o s ing the o ptima l pa r a mete r va lue fo ...
lly中期报告三:中铁快运营销运营体系报告.pptx
lly中期报告三:中铁快运营销运营体系报告.ppt
几句代码实现textView展示带图片的html文本,并且点击图片放大
-llur llx lly urx ury 该选项指定要下载区域经纬度,分别为左下角经度,左下角纬度,右上角经度,右上角纬度 默认为110 15 127 40 -date YYYYMMDD 指定日期YYYY为4字节年份,MM为2字节月份,DD为2字节日期,默认...
The instruction set of the W79E825 series are fu lly compatible with the standard 8052. The W79E825 series contain a 16K/8K/4K/2K bytes of main Flash EPROM; a 256/128 bytes of RAM; 256/128 bytes NVM...