JVM虚拟机,Dalvik虚拟机,Art虚拟机

2020-07-17  本文已影响0人  dreamkid

JVM虚拟机

JVM虚拟机用来运行Java程序,java文件首先被编译成class字节码文件,然后交给虚拟机解释执行
如下图


JVM工作流程图.png

Dalvik虚拟机

Dalvik虚拟机是用来运行Android程序,每一个Android应用程序都有一个Dalvik虚拟机实例,执行的是dalvik字节码dex文件,dex字节码文件是由dx工具将class字节码打包生成的.应用程序运行时由JIT即时编译器将dex字节码翻译成机器码执行

Art虚拟机

Art虚拟机是Android4.4发布的,应用程序安装时就将dex字节码翻译成机器码存储到本地,运行时直接执行机器码.大大提高了启动速度和执行效率.

Dalvik和Art比较

Art启动速度快:Dalvik每次运行都要编译,Art只有首次安装需要编译一次
续航能力强:编译次数少,cpu使用频率更低
Art占用空间大:需要预先将字节码翻译成机器码存储,空间换时间的做法

感谢:
https://www.jianshu.com/p/59d98244fb52

上一篇 下一篇

猜你喜欢

热点阅读