ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
Dalvik VM 和 JVM 的比较如下图所示 :-: ![](https://box.kancloud.cn/48bb02a6e515656da8a1b5a8d6136429_545x278.png) 图1、DalvikVM和JVM的比较 :-: ![](https://box.kancloud.cn/307dcdb03667aae0e33f2cffe8c0c36b_621x608.png) 图2、jar文件和apk文件的比较 #### **Android的虚拟机Dalvik介绍** * Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈。一直以来都有人在猜测,选择基于寄存器的方式是因为它对提前优化(ahead-of-time optimization)提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的。 * Dalvik和Java之间的另外一大区别就是运行环境——Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。