Dalvik和JVM的区别
2013-06-02 23:53
274 查看
由于Android的编程语言是Java,所以有可能我们会把Dalvik和JVM搞混。其实两者并不兼容,JVM运行的.class文件,可是Dalvik运行的是其专有的dex文件。
JVM直接从.class文件或者JAR包中加载字节码然后运行,而Dalvik无法直接运行.class文件或者JAR包中的字节码文件,所以它需要通过DX工具将应用程序
的所以.class文件编译成.dex文件。
Dalvik的特点:
(1):运行其减少了.class文件中冗余文件信息,而且把所有的.class文件整合到一个其专有的.dex文件中,从而提高运行性能,而且DX工具自身也会对.dex文
件进行一些性能优化。
(2):我们所使用的大多数虚拟机都是基于栈的包括JVM,而Dalvik则是基于CPU的寄存器的。所以其在性能上表现很好,但在硬件的通用性上不怎么好。
JVM直接从.class文件或者JAR包中加载字节码然后运行,而Dalvik无法直接运行.class文件或者JAR包中的字节码文件,所以它需要通过DX工具将应用程序
的所以.class文件编译成.dex文件。
Dalvik的特点:
(1):运行其减少了.class文件中冗余文件信息,而且把所有的.class文件整合到一个其专有的.dex文件中,从而提高运行性能,而且DX工具自身也会对.dex文
件进行一些性能优化。
(2):我们所使用的大多数虚拟机都是基于栈的包括JVM,而Dalvik则是基于CPU的寄存器的。所以其在性能上表现很好,但在硬件的通用性上不怎么好。
相关文章推荐
- JVM、Dalvik及ART虚拟机的区别
- Android中Dalvik和JVM的区别是什么?
- 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别
- 面试问题之:Dalvik VM和JVM的区别(1)
- 面试问题之:Dalvik VM和JVM的区别(1)
- Android中Dalvik和JVM的区别是什么?
- JVM和Dalvik VM的简要区别
- JVM和Dalvik VM的简要区别?
- Android Dalvik和JVM的区别
- 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别
- Dalvik与JVM区别
- Dalvik和JVM的几点区别
- JVM/Dalvik和ART的区别
- 面试问题之:Dalvik VM和JVM的区别(2)---架构层
- Dalvik和JVM的区别?
- Dalvik虚拟机与JVM的区别
- JVM和Dalvik VM和ART虚拟机的区别
- JVM和Dalvik的区别
- Dalvik 与 JVM的区别 (一)
- 关于JVM和Dalvik的区别