Dalvik VM和JVM的比较

  一转眼大学时间过半,下学期就要学移动平台应用开发了。虽然在移动开发校赛与Android交过手,但还不算理解,所以假期就在“传智”上加深了解一下Android,先从虚拟机入手。
  JVM与DVM的区别还是有的,学过Java肯定对Java虚拟机不陌生,Android同样运行java代码,运行在谷歌公司的Dalvik VM上的。
  之前就很好奇既然都是运行java,那为什么还需要不同的虚拟机呢?这也就是两个的区别所在。


JVM编译后文件格式: .java→.class→.jar     经过jdk javac

JVM基于的架构: 基于栈的架构

Dalvik vm编译后文件格式: .java→.class→.dex→.odex            经过sdk dex

Dalvik vm基于的架构: 基于寄存器的架构


  既然Android有一套自己的DVM虚拟机,那一定比JVM更实用。dvm把所有的.class文件变成一个dex文件,这就像打包一样。学过的操作系统终于感觉有一些用武之处了,在同样的大小的情况下,复制一个文件夹中包含一个文件到磁盘,和复制一个文件夹包含很多子文件到磁盘,那肯定是前者的速度相对更快,原理也就和DVM基于的架构是相似的,寄存器就相当于CPU的内存,JVM基于的栈就相当于内存,所以CPU的速度是优于内存的。这就是我的初步理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值