美文网首页
ART Dalvik JVM

ART Dalvik JVM

作者: 喝咖啡的鱼儿 | 来源:发表于2017-04-19 17:01 被阅读41次

    1.JVM

    .java 为后缀的文件,最终会被编译成.class字节码,运行在 jvm 上;JVM 的作用是将平台无关的 .class 字节码翻译成平台无关的机器码;

    2.Dalvik

    Dalvik 是Google设计的用于 Android 平台的 虚拟机;支持.dex格式的 java应用程序的运行; .dex 格式是专为 Dalvik 设计的一种压缩格式,适合内存和处理器速度有限的系统;
    2014年6月25日,Android L 系统中直接删除 Dalvik ,用 ART 代替;

    Dalvik 与JVM 的区别:

    1.Dalvik 是基于寄存器,Jvm是基于栈的;
    2.Dalvik 运行 dex 文件,Jvm 运行 java 代码;
    3.Dalvik 支持 JIT (just-in-time 即时编译技术),优化后的 Dalvik 允许在有限的内存中同时运行多个虚拟机实例,并且每一个 Dalvik 应用作为一个独立的 Linux 进程执行;

    3.ART

    Android Runtime(ART) 是一种在 Android 操作系统上的运行环境;能够将字节码直接转化成机器码;

    ART 与 Dalvik 的区别:

    1.编译器
    Dalvik 是基于即时编译器(JIT)将字节码转化成机器码,应用每次运行都会执行这个过程,会拖慢应用的运行效率;
    ART 是基于预编译(AOT Ahead-Of-Time)将字节码转化成机器码,只有在首次安装的时候会执行上述过程,这样会导致首次安装变慢,但以后每次启动执行的时候,都会直接运行,提高运行效率;
    2.占用空间
    ART 占用空间比Dalvik大,字节码转化成机器码之后,存储空间会增大10%~20%,这就是注著名的 " 空间换时间";
    3.性能
    ART 明显改善了电池续航,在垃圾回收上也有了较大的提升;

    相关文章

      网友评论

          本文标题:ART Dalvik JVM

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