Android虚拟机-Dalvik VM架构

Dalvik, VM会监视所有的程序APK,并且创建依赖关系熟,为每个程序优化代码并存储在Dalvik缓存中。Dalvik VM第一次加载后会生成Cache文件,加速加载,Dalvik Vm的第一次加载很慢。

   dx是一套工具,可以将Java的.class文件转换成.dex格式,一个dex文档通常会有多个.class文件。由于dex有时必须进行优化,会是文件大小正价1-4倍,并以ODEX结尾。

   1.虚拟机很小,使用空间也小

   2.Dalvik VM没有JIT编译器

   3.常量池已被修改为只使用32位的索引,简化解释器

    4.它使用自己字节码,而非java字节码

   Android的应用程序主要是用户界面的,通常以Java程序编写,包含各种资源文件。

  Dalvik VM和Java虚拟机的差异如下:

   1.Dalvik VM早期没有使用JIT(just-in-time)技术,从Android2.2开始,Dalvik VM也支持JIT

   2.Dalvik VM有自己的bytecode,并非使用Java bytecode

    3.Dalvik Vm基于暂存器(register),而JVM基于栈(stack)

   4.Dalvik Vm通过Zygote进行Class Preloading,Zygote会完成虚拟机的初始化,也与Java虚拟机的不同之处。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值