JVM和Dalvik区别

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死掉了,只有一个对应的应用死掉,其他没有影响。

    













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值