阿里巴巴 说说 Android 虚拟机Dalvik与ART区别在哪里?

本文深入探讨Android开发中的Dalvik与ART虚拟机的区别。Dalvik基于寄存器架构,通过.dex文件执行字节码,而ART采用预编译(AOT)提高运行效率。此外,DVM允许在有限内存中运行多进程,ART的GC类型包括Mark-Sweep和Compacting GC,优化了空间利用和电池续航。
摘要由CSDN通过智能技术生成

本专栏专注分享大型Bat面试知识,后续会持续更新,喜欢的话麻烦点击一个关注

废话不多说先上面试目录

Android开发中我们接触的是与Java虚拟机类似的Dalvik虚拟机和ART虚拟机,下面梳理一下三者区别和原理:

一,Dalvik虚拟机 Dalvik虚拟机( Dalvik Virtual Machine ),

简称Dalvik VM或者DVM。Dalvik 发音有道词典并没有收录。说说来历,它是由Dan Bornstein编写的,名字源于他的祖先居住过的名为Dalvik的小渔村。DVM是Google专门为Android平台开发的虚拟机,它运行在Android运行时库中。需要注意的是DVM并不是一个Java虚拟机(以下简称JVM)

DVM与JVM的区别

DVM之所以不是一个JVM ,主要原因是DVM并没有遵循JVM规范来实现。DVM与JVM主要有以下区别。

基于的架构不同 JVM基于栈则意味着需要去栈中读写数据,所需的指令会更多,这样会导致速度慢,对于性能有限的移动设备,显然不是很适合。 DVM是基于寄存器的,它没有基于栈的虚拟机在拷贝数据而使用的大量的出入栈指令,同时指令更紧凑更简洁。但是由于显示指定了操作数,所以基于寄存器的指令会比基于栈的指令要大,但是由于指令数量的减少,总的代码数不会

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值