共同点:
解释执行byte code 字节码文件
在操作系统的进程运行一个VM,并执行一个单独的程序
不同点:
程序的结构不同:JVM字节码由多个.class文件组成,Dalvik只包含一个.dex格式的文件,这个文件包含了程序中所有的类。
架构不同:Dalvik是register-based基于寄存器(CPU),Sun JDK是基于stack-based基于栈(内存)。
Dalvik优势:编译是提前优化代码而不是等到运行时。
虚拟机很小,占空间小。可以满足可高效运行多种虚拟机实例。
常量池修改为只使用32为的索引,以简化解释器。
DVM的执行过程:1.编译为.class文件
2.使用dx工具抽取.class 文件共性形成.dex
3.维护内部的常量池
原文:http://www.cnblogs.com/cnw921230/p/3719463.html