首页 > 移动平台 > 详细

android 58 jvm和dvm的区别(Dalvil VM)

时间:2015-10-27 00:08:48      阅读:311      评论:0      收藏:0      [点我收藏+]

java程序在jvm和dvm的执行过程:

技术分享

#jvm和dvm的区别(Dalvil VM)
谷歌刚开发的安卓系统用的就是JVM,JVM版权属于sun公司也就是Oracle公司,后来用的是DVM,由于版权问题。DVM是基于openjdk做的2次开发,DVM解决了JVM的效率问题,jvm的运行效率会低。
jvm里面class代码必须要在jvm里面进行解释后在底层操作系统里面执行,真正执行是底层操作系统执行,由于必须在jvm里面解释所以效率要低。
dvm会先把class文件转换为dex文件之后再去解释执行,这样转换之后效率就会高。
jvm里面如果有1000个class文件,把他加载进jvm进行解释执行,就要遍历这1000个class文件进行加载操作,那么效率就会低。如果先把这1000个class文件先转换为dex文件,然后加载解释执行这一个dex文件效率就会高。
java代码是一次编译导出运行,windows有windows的jvm,linux有linux的jvm,

 

android 58 jvm和dvm的区别(Dalvil VM)

原文:http://www.cnblogs.com/yaowen/p/4912860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!