Dalvik VM和JVM的比较以及Android新的虚拟机ART

栈:存在于内存中,如果要操作硬盘资源,需要将硬盘资源加载到内存中,内存中的地址保存在栈中

寄存器:存在于CPU中

所以CPU读取寄存器的速度肯定高于读取内存的速度

Dalvik:应用每次运行的时候,字节码都需要通过即时编译转换成机器码

ART:应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用,应用的启动和执行速度都会显著提升

IOS:OC写的程序运行在OC写的系统上,所以速度快

时间: 2024-10-10 12:37:51

Dalvik VM和JVM的比较以及Android新的虚拟机ART的相关文章

Dalvik VM和JVM的浅析

http://zh.wikipedia.org/wiki/Android http://zh.wikipedia.org/wiki/Dalvik虚拟机 http://zh.wikipedia.org/wiki/Java虚拟机 一.Dalvik VM和JVM的理解 JVM是一个虚构出来的运行Java程序的运行时,是通过在实际的计算机上仿真模拟各种计算机功能的实现.它具有完善的硬件架构(如处理器,堆栈,寄存器等),还具有相应的指令系统,使用JVM就是使Java程序支持与操作系统无关.理论上在任何操作

Dalvik VM 和JVM的比较

避免出现版权问题android重写JVM 两者在编译后的文件格式区别: JVM: .java->.class->.jar DALVIK VM:.java->.class->.dex->.odex 两者基于的架构: JVM:基于栈的架构 DALVIK VM:基于寄存器的架构

Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别?

Dalvik虚拟机存在于Android系统,JVM是java虚拟机,两者都是虚拟机,本文就对两者进行比较,讲述它们的不同. Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一.它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统.(dx 是一套工具,可以将 Java .class 转换成 .dex 格式. 一个dex档通常会有多个.

class 文件与dex文件区别 (dvm与jvm区别)及Android DVM介绍

区别一:dvm执行的是.dex格式文件  jvm执行的是.class文件   android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件.apk就是android package的意思. jvm执行的是.class文件. 区别二:dvm是基于寄存器的虚拟机  而jvm执行是基于虚拟栈的虚拟机.寄存器存取速度比栈快的多,dvm可以根据硬件实现最大的优化,比较适合移动设备. 区别三:.class文件存在很

Dalvik VM

简介 Dalvik是Google公司自己设计用于Android平台的Java虚拟机. Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一.它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行 .dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统. Dalvik虚拟机既不支持Java SE 也不支持Java ME类库(如:Java类,AWT和Swing都不支持). 相反,它使用自己建立

[转载] 深入理解Android之Java虚拟机Dalvik

本文转载自: http://blog.csdn.net/innost/article/details/50377905 一.背景 这个选题很大,但并不是一开始就有这么高大上的追求.最初之时,只是源于对Xposed的好奇.Xposed几乎是定制ROM的神器软件技术架构或者说方法了.它到底是怎么实现呢?我本意就是想搞明白Xposed的实现原理,但随着代码研究的深入,我发现如果不了解虚拟机的实现,而仅简单停留在Xposed的调用流程之上,那真是对Xposed最大的不敬了.另外,歪果仁为什么能写出Xpo

[Android 新特性] 安卓4.4新特性详解

在本月初,谷歌的5太子google  nexus5正式发布了,还给大家带来了全新的安卓android4.4的操作系统,并且官网给大家带来了新的说法,就是安卓4.4会比之前的系统更加省电,这个到底是为什么呢?网侠小编就来说说安卓4.4的为何省电的工作机制. 首先,我们要搞清楚一个问题,那就是什么是Dalvik? 在整个Android 4.4的更新特性中,最引人瞩目的应该就是虚拟机由Dalvik转成ART,也就是“中间件”的变更(Midware).先来看看什么是Dalvik. 如图,Dalvik虚拟

修改Android手机的“虚拟机堆大小”和android:largeHeap来防止APP内存溢出问题

使用“RAM Manager”修改“虚拟机堆大小”为某一个阀值 xxMB大小 修改 AndroidManifest.xml 里的 Application 标签的属性 android:largeHeap="true"Attribute "largeHeap" is only used in API level 11(Android 3.0.x) and higher 重启手机,才能生效. adb.exe shell getprop dalvik.vm.heapsize

从零开始的Android新项目11 - 组件化实践(1)

最近更新不太频繁,一方面工作上比较忙,除了 Android 也在负责前端,另外周末和深夜也在帮人做 Go 后台.设计技术方案.管进度的事情(因为报酬不错没忍心拒绝,而且确实对个人成长还有帮助),所以实在对不住. 另外,文章最底下有捐款啊,最近真是都没钱吃饭了... 前言 这里的组件化,指的是 MDCC 2016 上冯森林提出的<回归初心,从容器化到组件化>. 我个人一直是比较反感黑科技的,其中首当其冲的就是 插件化 以及 保活.作为一个开发者,除了研究技术,提高自己以外,是否应该考虑些其他东西