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

简记:

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后使用)

优点:安装快,效率提高

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值