Android的Dalvik虚拟机与Java的JVM虚拟机之间的差异

时间:2022-12-26 21:02:47

①Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。

②Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。

③Dalvik虚拟机运行的是其专有的文件格式Dex,dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。而Java虚拟机运行的是java字节码;

④所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制