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文件做了一些列的公共抽取等等。


    谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
    刘德利CSDN博客, http://blog.csdn.net/u011967006

  • 相关阅读:
    Codeforces 1105C Ayoub and Lost Array
    绍兴市acm竞赛
    CodeForces#520 div2 1062B
    CodeForces#520 div2 1062A
    1067A
    测试MathJax
    BZOJ1010 玩具装箱toy
    停止
    秽翼
    爆零
  • 原文地址:https://www.cnblogs.com/android-deli/p/10322179.html
Copyright © 2011-2022 走看看