zoukankan      html  css  js  c++  java
  • Android DalivkVM与JVM的比较

    JVM 与 DalivkVM的区别

    Android 为什么还有搞一个Dalivk虚拟机,不是已经就有Java虚拟机了吗,为什么还要专门搞一个Dalivk虚拟机呢?

    答:
      1.以前Java是Sun公司的,后来成为Oracle公司的了,有版权问题,不能使用JVM;
      2.Java虚拟机在移动设备上,运行效率低,如果运行效率不低,J2ME早火了;

    JVM与DalivkVM的比较

    JVM:将很多.java文件编译成.class文件,—-> 然后将很多.class文件打包成.jar文件;

    DalivkVM:将很多.java文件编译成.class文件,—-> 然后将很多.class文件处理成.dex文件;

    区别一:java虚拟机有个特点只认识.class文件,DalivkVM只认识.dex文件;

    区别二:java虚拟机的.jar文件里面有很多的.class文件,而DalivkVM中的.dex文件 就只有一个文件,不在是多个文件的概念了

        例如:上传一万个文件到百度云速度非常慢,而把一万个文件打包成一个文件,上传速度快很多倍,就是这个道理;

    区别三:JVM与DalivkVM再数据存储方面的比较:
    java虚拟机运行时数据是存储在推/栈中的,注意:堆栈是存储区域是内存;
    DalivkVM运行时数据是存储在寄存器的,注意:寄存器是在CPU上面的临时存储区域;

    总结:CPU在运行的时候是用自己寄存器的快,还是去内存拿去快,当然是寄存器的快,所有性能就快起来了。

    区别四:据我了解,Google 为了DalivkVM的性能提升,还做了一些列的优化,例如:对常量池的优化,.dex文件与.jar文件区别非常大,.dex文件做了一些列的公共抽取等等。

  • 相关阅读:
    Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
    我的工作流为什么启动不了
    关于IE下复选框的样式问题
    使用SharePoint rest语法返回已上传的SharePoint Excel 文件
    Running the complier from the Command Line
    关于inline
    来到坡国
    在oracle Virtual Box 虚拟机中搭建hadoop1.2.1完全分布式环境(转自康哥的博客)
    hadoop调试
    linux相关指令学习
  • 原文地址:https://www.cnblogs.com/android-deli/p/10092165.html
Copyright © 2011-2022 走看看