Jvm、Dalvik和Art

作者: 奔跑吧李博 | 来源:发表于2020-09-03 10:58 被阅读0次
Dalvik:

Dalvik是Google公司自己设计用于Android平台的虚拟机。它可以支持已转换为** .dex格式**的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式。每一个Dalvik 应用作为一个独立的Linux 进程执行。

ART (Android Runtime)

ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。

ART优缺点:

优点:
1、系统性能的显著提升。
2、应用启动更快、运行更快、体验更流畅、触感反馈更及时。
3、更长的电池续航能力。
4、支持更低的硬件。
缺点:
1.机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。)
2.应用的安装时间会变长。

Jvm、Dalvik和Art对比
java虚拟机 Dalvik虚拟机
java虚拟机基于栈,基于栈的机器必须使用指令来载入和操作栈上数据 Dalvik虚拟机基于寄存器
java虚拟机运行的是java字节码。(java类会被编译成一个或多个字节码.class文件,打包到.jar文件中,java虚拟机从相应的.class文件和.jar获取相应的字节码) Dalvik运行的是自己专属的.dex字节码格式。(java类被编译成.class文件后,会通过一个dx工具将所有的.class文件转换成一个.dex文件,然后dalvik虚拟机会从其中读取指令和数据)
- 一个应用对应一个Diavik虚拟机实例,独立运行

相关文章

  • 2021-02-24

    JVM、Dalvik、ART三者的关系 JVM、Dalvik、ART三者的关系[https://www.jians...

  • 理解Dalvik和ART、JVM虚拟机

    理解基本的Dalvik和ART、JVM虚拟机 一、Dalvik介绍 Dalvik VM是Android平台的核心组...

  • Jvm、Dalvik和Art

    Dalvik: Dalvik是Google公司自己设计用于Android平台的虚拟机。它可以支持已转换为** .d...

  • Jvm、Dalvik 和Art

    Dalvik虚拟机和Java虚拟机的区别 Dalvik虚拟机与传统的Java虚拟机有着许多不同点,两者并不兼容,它...

  • Android虚拟机与类加载机制

    JVM和Dalvik/ART Android应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个...

  • Android虚拟机

    [Android开发JVM、Dalvik以及ART的区别] 前言 Dalvik是Google公司自己设计用于And...

  • JVM、Dalvik、ART

    文章较长,主要讲解了JVM的整个流程,其次点了Dalvik与JVM的区别及ARTJVM标题下Class文件结构 -...

  • ART Dalvik JVM

    1.JVM 以 .java 为后缀的文件,最终会被编译成.class字节码,运行在 jvm 上;JVM 的作用是将...

  • Dalvik、ART、JVM

    Dalvik虚拟机 dex文件 Java虚拟机运行的是java字节码,即class文件,而Dalvik虚拟机执行的...

  • Dalvik、JVM、ART

    Dalvik与JVM的不同 执行文件不同,一个是dex,一个是class 类加载系统与jvm区别较大 可以同时存在...

网友评论

    本文标题:Jvm、Dalvik和Art

    本文链接:https://www.haomeiwen.com/subject/jfsgaftx.html