2.JVM和DVM之间的区别

1、JVM

.java----->.class----->.jar

运行在内存的 栈

栈虚拟机

2、DVM

.java----->.class------>.dex-----(加上其它资源文件)---->apk

运行在CPU的 寄存器

寄存器虚拟机

----------------------------------------------------------

3、DVM与JVM的区别

dvm执行的是.dex文件,jvm执行的是.class文件。


4、.jar文件和.dex文件的区别

.jar 文件

里含有多个.class文件,每个.class文件都包含文件头,这样IO操作效率低。

举例:

平时我们复制项目工作空间,和复制一个高清电影。项目工作空间大小<高清电影。

但复制的时候,发现高清电影复制速度比项目工作空间快。

因为高清电影虽然大,但只有一个文件,即一个文件头。项目工作空间有很多文件,即多个文件头。

.dex文件

不是.class文件的简单打包,dex工具,去掉了app里所有.class文件的冗余信息,再整合到.dex文件中,减少了IO的操作,提高了查找速度。

对比如下图

2.JVM和DVM之间的区别_第1张图片




你可能感兴趣的:(2.JVM和DVM之间的区别)