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虚拟机的不同之处。



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部