文档章节

JVM和DVM的区别

china灬xiaoyu
 china灬xiaoyu
发布于 2016/07/31 15:36
字数 277
阅读 13
收藏 1

1、构架不同

 栈是位于内存中的一块区域,执行之前必须要通过CPU来寻址,才知道要执行的是什么。

寄存器是属于CPU的一部分,执行的时候无需寻址。由此看出DVM更好一些。

2、执行的文件格式不同

      JVM执行的是.class文件;  DVM执行的是.dex文件;

      那么这两种文件有什么差异呢?

      .class文件:其实JVM执行的是多个.class文件,并且每一个.class文件里面都包含文件的头                               信息,每一个都有头文件,就产生了冗余!

       .dex文件:其实就是对.class进行优化,将公共的头信息进行提取,减少了冗余,只执行一                              个.dex文件!

                                                    这就导致了dvm虚拟机更优!

        为什么有了JVM还要开发出DVM?

        因为版权问题,JVM是SUN公司的,不让谷歌用,谷歌就搞了DVM(07年),专为安卓设备设计,更适用于移动设备~!

 

 

© 著作权归作者所有

共有 人打赏支持
china灬xiaoyu
粉丝 5
博文 15
码字总数 8720
作品 0
青岛
程序员
DVM 初始化 —— 关于Java类的基础知识

DVM,也就是Dalvik,Android4.4之后,还推出了ART,但没有作为默认虚拟机使用,直到5.0才正式作为默认虚拟机使用。可见,一个好的东西是需要经历一些磨难才能出的来的。 我把Java中的类分成两...

刘焱
2014/09/27
0
0
android -------- java虚拟机和Dalvik虚拟机

java虚拟机 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚...

切切歆语
04/29
0
0
[Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案

作者:泥沙砖瓦浆木匠 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节。 如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~ 点这参与众筹 我...

泥沙砖瓦浆木匠
2014/12/19
0
1
热修复与插件化基础——Java与Android虚拟机

一、Java虚拟机(JVM) 1、JVM整体结构 使用javac将java文件编译成class文件。 类加载器(ClassLoader)将class字节码加载进JVM对应的内存中。 JVM将内存分配给方法区、堆区、栈区、本地方式...

CSDN_LQR
05/13
0
0
Android DVM [1]

Dalvik是一个寄存器虚拟机,但它并不是一个完全的Java平台。Android使用Java作为开发语言和Apache Harmony的类库来生成标准的class文件(JVM可执行文件)。Android然后将class文件转译为一个...

开源中国驻成都办事处
2012/04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

又一个centos文件顺序导致的问题

背景 新的centos似乎对于文件顺序做了特别的优化 和文件顺序出现的问题确实多了不少 centos7导致的spring循环依赖【实际上和这个问题不一样 不过由此衍生出的问题】 某应用放在新的系统开始报...

Mr_Qi
15分钟前
0
0
阿里云国际版香港CN2测评 月付9美元/30M带宽/1T流量

市面上很多家香港VPS服务商,一直都说阿里云国际版香港CN2线路好,延迟低,速度快,价格便宜流量还多,那么这个香港线路到底怎么样呢?本文从性能、延时、路由、速度方面来全方面测评一下阿里...

flyzy2005
58分钟前
0
0
撤销git commit --amend

it commit -amend之后想撤销 git reset HEAD@{1}

xiaomge
今天
0
0
有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum: public enum TimeUnit 好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并...

polly
今天
10
0
生成pyc

Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改...

Mr_Tea伯奕
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部