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的操作,提高了查找速度。对比如下图
相关文章推荐
- 3.Android的新虚拟ART与原虚拟机DVM的区别[误删恢复]
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别?
- 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别
- Dalvik VM (DVM) 和Java VM (JVM)之间的区别
- 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别?
- Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
- 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别
- [置顶] Dalvik VM (DVM) 与Java VM (JVM)之间的区别
- tcp udp http socket 之间的联系和区别
- ref与out之间的区别整理
- Unicode 和 UTF-8、UTF-16之间的区别
- java InputStream,FileInputStream,InputStreamReader,FileReadr,BufferedReader之间的区别
- socket编程中write、read和send、recv之间的区别
- UTF-8 GBK UTF8 GB2312之间的区别和关系
- CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制