文档章节

JVM和DVM的区别

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

精选30+云产品,助力企业轻松上云!>>>

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
青岛
程序员
私信 提问
加载中
请先登录后再评论。
Android 源码分析(十) Dalvik 虚拟机创建过程

一. 介绍Dalvik   1.java的运行需要JVM,同样android中使用了java语言,也需要一个VM。针对手机处理器和内存等硬件资源不足而推出来的一款VM,为android运行提供环境,叫DVM。   2.Dalvi...

osc_n3166lwj
2018/07/09
11
0
Android 虚拟机相关概念

名词解释: JVM:Java Virtual Machine, java 程序运行的虚拟机。 JIT:just In Time Compiler。 ------- ART:Anroid RunTime。 AOT:Ahead Of Time。 Dalvik:Android 中使用的jav...

Carlyle_Lee
2018/10/25
14
0
Dalvik VM (DVM) 与Java VM (JVM)之间的区别

前言 DVM和JVM之间的区别应该算是Android面试的常客了,也是比较深入原理性的东西,今天花了点时间整理了一下,收获良多。 区别 1、DVM和JVM最核心的区别是:DVM基于寄存器的架构,而JVM基于...

EnjoyAndroid
2017/11/21
0
0
[转帖]JAVA虚拟机和安卓虚拟机的区别

作者:天光 链接:https://www.zhihu.com/question/20207106/answer/14654536 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 谢邀,抱歉拖了这么久才回...

osc_jwzrbrqe
2019/10/27
12
0
Dalvik和ART

--摘自《Android进阶解密》 DVM和ART都是在Zygote进程中诞生的 DVM和JVM的区别 1.基于的架构不同    DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用的大量的出入栈指令,同时...

osc_62egr8or
2019/01/03
3
0

没有更多内容

加载失败,请刷新页面

加载更多

4.17. HTTP 请求走私

文章目录 4.17. HTTP 请求走私 4.17.1. 简介 4.17.2. 成因 4.17.3. 分类 4.17.4. 攻击 4.17.4.1. CL不为0的GET请求 4.17.4.2. CL-CL 4.17.4.3. CL-TE 4.17.4.4. TE-CL 4.17.4.5. TE-TE 4.17......

osc_2wq8ft8d
30分钟前
11
0
2020年蓝桥杯B组个人题解(热的,不知道对错)

文章目录 A B C D E F G H I J 总结 现在是蓝桥杯刚结束,趁着有记忆,写下这篇博客,不知道对错,如果我错了,请指出。 A 因为是到0就结束了,那么每次看看-600是否结束,如果没有结束就+30...

osc_1m04dwae
30分钟前
0
0
AXI4_full协议详解

AXI4-full协议介绍 AXI4.0-full包含突发控制信号,所以可以进行突发传输,在只指定一次地址后,可以一次传输多达256个数据(数据的宽度取决于带宽)。主要用于往DDR或者OCM中写入大量数据时使用...

whoisliang
31分钟前
8
0
【VMWare虚拟机Centos7安装配置redis及Redis常用命令合集】

前置依赖 1.Redis依赖gcc和tcl环境,所以要先安装gcc和tcl 执行下面语句安装gcc: yum install gcc-c++ 若提示是否继续,输入y继续安装 执行下面语句安装tcl: yum install -y tcl 下载red...

osc_s4durjz5
31分钟前
10
0
LeetCode 323. 无向图中连通分量的数目(并查集)

文章目录 1. 题目 2. 解题 1. 题目 给定编号从 0 到 n-1 的 n 个节点和一个无向边列表(每条边都是一对节点),请编写一个函数来计算无向图中连通分量的数目。 示例 1:输入: n = 5 和 edge...

osc_lk0wespa
32分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部