您的位置:首页 > 其它

2.JVM和DVM之间的区别[误删恢复]

2018-01-12 10:47 134 查看


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的操作,提高了查找速度。

对比如下图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: