码迷,mamicode.com
首页 > 其他好文 > 详细

JVM和Dalvik区别

时间:2015-05-09 08:54:50      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

JVM和Dalvik区别


     1、Dalvik 基于寄存器,寄存器是CPU内部的一块内存空间,访问速度快,而 JVM 基于栈,栈是内存中的一块连续的存储空间,访问速度比寄存器要          慢。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
     2、Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能。
     3、Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
     4、不同于Java虚拟机运行java字节码( .java -> .class),Dalvik虚拟机运行的是其专有的文件格式DEX(Dalvik Executable)
         ( .java -> .class -> .dex),Dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。
     5、所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制

     6、Dalvik是一般由C或C++编写,JVM一般是C++或java编写

   7、如果JVM不小心死掉,则上面运行的所有Java程序都死掉,而Dalvik死掉了,只有一个对应的应用死掉,其他没有影响。

    













JVM和Dalvik区别

标签:

原文地址:http://blog.csdn.net/u010456903/article/details/45586595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!