分享

JVM和ART、DVM(dalvik VM)的区别

 rongq2007 2023-12-18 发布于广东

简记:

JVM为java虚拟机,ART是搭载在android上的移动优化版的虚拟机,DVM是android4.4以前的移动化版虚拟机。

详情:

1.jvm:基于栈架构的虚拟机,运行java字节码

2.DVM:基于寄存器架构的虚拟机,运行dex文件; 每次运行application的时候,都通过JIT(即时编译器)将字节码转成机器码;效率低,cpu使用率大,能耗高(android4.4以前使用)

3.ART:兼容DVM,系统在安装application就通过AOT(Ahead Of Time)进行一次预编译(dex2oat),将dex文件处理成机器码(可供ART运行的.oat可执行文件,与硬件直接接触);效率提高,cpu使用率小,能耗低(android5.0后使用)

扩展:

hybird混合模式,JIT+AOT(All Of the Time)+解释器的结合;应用安装不编译,直接安装。代码执行方式用JIT,对于热点代码进行编译产生 profile文件,手机闲置和充电时,系统隔时间 扫描 profile,对profile的热点代码进行持久化处理,待application再次运行时,若本地 有相关 机器码,则无需JIT。(android7.0后使用)

优点:安装快,效率提高

缺点:应用初期执行效率一般,待用户多次使用后显著提高

————————————————

版权声明:本文为CSDN博主「嗷喵喵没有吃鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lwh1135275334/article/details/127208101

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多