美文网首页
jvm与dvm的区别

jvm与dvm的区别

作者: 沈默的头号狗腿 | 来源:发表于2018-10-10 17:06 被阅读0次

google为了解决与oracle之间关于java相关专利和授权的纠纷,开发了DVM

jvm与dvm之间的区别:

    dvm执行的是.dex格式文件,jvm执行的是.class文件,android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件,apk就是android package的意思,jvm执行的是.class文件。

    dvm是基于寄存器的虚拟机,而jvm是基于虚拟栈的虚拟机。寄存器存取速度比栈快得多,dvm可以根据硬件实现最大的优化,比较适合移动设备。

    class文件存在很多的冗余信息,dex工具会去除冗余信息,并把所有的.class文件整合到.dex文件中,减少了I/O操作,提高了类的查找速度。

相关文章

网友评论

      本文标题:jvm与dvm的区别

      本文链接:https://www.haomeiwen.com/subject/tmfmaftx.html