首页 > 代码库 > Dalvik虚拟机工作原理介绍
Dalvik虚拟机工作原理介绍
Dalvik虚拟机并没有使用目前流行的虚拟机技术,如JIT,但是根据Google的报告,这个功能的缺失并没有令Dalvik虚拟机在性能上有所损失。我们也同时相信,Dalvik虚拟机的性能还有进一步提高的空间。
根据 Google的测算,64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大,归纳起来,Dalvik虚拟机有如下几个主要特征:
DEX是Dalvik虚拟机专用的文件格式,而为什么弃用已有的字节码文件(CLASS文件)而采用新的格式呢? 一个应用中会定义很多类。编译完成后即会有很多相应的CLASS文件,CLASS文件间会有不少冗余的信息;
而DEX文件格式会把所有的CLASS文件内容整合到一个文件中。这样,除了减少整体的文件尺寸,I/O操作,也提高了类的查找速度。 原来每个类文件中的常量池,在DEX文件中由一个常量池来管理,具体方式如下图:
增加了新的操作码的支持文件结构尽量简洁,使用等长的指令,借以提高解析速度 尽量扩大只读结构的大小,借以提高跨进程的数据共享如何生成DEX文件呢?Android系统和Dalvik虚拟机提供了工具(DX),在把Java源代码编译成CLASS文件后,使用DX工具。
欢迎转载:http://www.yinqisen.cn/blog-274.html
Dalvik虚拟机工作原理介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。