To understand Dalvik, you must first understand that Android is not Java. Android is “Java based”. Android programs take an additional step after Java file is compiled into Java bytecode. The Java bytecode will then be converted into Dalvik bytecode. This is because Android does not have a Java virtual machine. Dalvik replaces the Java VM on the Android platform. Dalvik differs from the Java virtual machine in a number of ways. Many of these differences are necessary because mobile phones typically have lower memory and less powerful hardware than the platforms that Java typically runs on.
When you run more than one Java program at a time, each program starts its own virtual machine. Parts of the VM are read-only but each Java VM has its own copy of those read-only portions. To optimize the low memory environment of most mobile devices, Dalvik has been designed to share a single copy of the read-only parts of the virtual machine. When your Android phone runs more than one application at a time, each application runs in its own Dalvik virtual machine. However, all of those Dalvik virtual machines share a single copy of the read-only portions. This greatly reduces memory consumption.
The Dalvik machine is register-based rather than stack-based like the Java virtual machine. In a stack based machine, the computer’s memory forms a stack. Instructions are taken from the top of the stack and moved into memory for execution. Register based systems use a series of memory registers rather than a stack. By being a register based machine, Dalvik can get better performance from a limited memory architecture.
原文=>http://www.learncomputer.com/what-is-dalvik/
分享到:
相关推荐
Dalvik虚拟机是Android操作系统中用于执行应用程序的虚拟机。它的作用主要是解释执行Android应用程序中的Dalvik可执行文件(DEX格式),使得Java程序能够在Android设备上运行。Dalvik虚拟机与Java虚拟机(JVM)有很...
什么是 Dalvik 文件? Dalvik 文件是一种特殊的字节码格式,用于存储 Android 应用程序的编译后的代码。Dalvik 文件的扩展名为 `.dex`,它是 Android 操作系统中的虚拟机字节码格式。 Dalvik 文件包含了应用程序的...
Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Android应用程序中的Dalvik虚拟机实例实际上是从Zygote进程的地址空间拷贝而来的,这样就可以加快Android应用...
**Android Dalvik虚拟机讲义** Android Dalvik虚拟机是Android操作系统的核心组成部分,它是Google为移动设备特别设计的一种高效、轻量级的虚拟机。在Android系统中,应用程序以Dalvik可执行文件(.dex)的形式运行...
【dalvik_hook_demo】是一个关于Android系统中Dalvik Hook技术的实际应用示例。在这个项目中,开发者通过hook技术对Dalvik虚拟机进行了深入的操作,展示了如何在运行时改变应用程序的行为,以此来达到调试、监控或者...
《Android 4.0.4 Dalvik字节码详解》 在Android系统中,Dalvik虚拟机是核心组件之一,负责执行应用程序的字节码。本文档将深入探讨Android 4.0.4版本中Dalvik虚拟机所使用的字节码指令集,帮助开发者更好地理解和...
进入 Android Dalvik 虚拟机,android dalvik介绍 Dalvik 虚拟机的特点——掌握 Android 程序的运行原理 Android 系统的架构采用分层思想,这样的好处是拥有减少各层之间的依赖性、便于独 立分发、容易收敛问题和...
**Android Dalvik 源码解析** Android操作系统以其开源特性吸引了众多开发者,而Dalvik虚拟机作为Android系统的核心组成部分,负责运行应用程序。了解Dalvik的源码有助于我们深入理解Android应用的执行机制,优化...
根据提供的信息,我们可以深入探讨Dalvik虚拟机及其指令集的关键知识点。 ### Dalvik虚拟机概述 #### 1. Dalvik虚拟机的历史与地位 - **发布背景**:2007年底,随着Android SDK的正式发布,Dalvik虚拟机作为...
首先,我们来了解什么是Dalvik。Dalvik是Google为Android操作系统设计的一款轻量级的、基于寄存器架构的Java虚拟机(JVM)。与传统的JVM不同,Dalvik被优化以适应移动设备的资源限制,如内存和处理器性能。它采用了....
在Android操作系统中,Dalvik虚拟机扮演着至关重要的角色,它是Android系统早期版本中的核心组件,负责执行应用程序的字节码。在Android 4.2版本中,Dalvik虚拟机进一步优化,提升了性能和效率。这里我们将深入探讨...
**Android的Dalvik虚拟机(Dalvik Virtual Machine, DVM)是Android系统中运行应用程序的核心组件之一。在Android系统早期版本中,应用是以Dalvik字节码(Dalvik Bytecode)的形式存储和执行的,而DEX(Dalvik ...
Dalvik opcodes是Android操作系统中Dalvik虚拟机执行指令集的一种核心元素。Dalvik虚拟机,作为Android系统早期的关键组成部分,是基于寄存器架构的轻量级VM,设计目标是优化资源有限的移动设备。在Dalvik虚拟机中,...
**Android Dalvik虚拟机源码解析** Android操作系统中,Dalvik虚拟机扮演着至关重要的角色。它是Android系统的核心组件之一,负责运行应用程序的字节码(.dex文件)。Dalvik虚拟机是基于寄存器架构的,这与传统的...
Android Dalvik虚拟机是Android操作系统的核心组成部分,它为Android应用程序提供了运行环境。在这个环境中,应用程序的代码被转换成Dalvik可执行格式,称为.dex(Dalvik Executable)文件,然后在此虚拟机上运行。...
【dalvik.zip】是一个包含Dalvik虚拟机源码的离线帮助文档,旨在为开发者提供一个全面、便捷的参考资源,无需在线搜索即可进行查阅。Dalvik是Android系统早期采用的一种专门为移动设备优化的Java虚拟机,它在Android...
在Android系统中,Dalvik虚拟机是其运行应用程序的核心组件,它使用了一种特定的指令集,称为Dalvik字节码或操作码(Opcode)。这些操作码是Dalvik虚拟机执行程序的基础,对于理解Android应用的运行机制以及进行逆向...
标题 "Google Android Dalvik JavaVM Kernel Code MIPS Version" 指的是 Google 在 Android 系统中针对 MIPS 架构实现的 Dalvik 虚拟机内核代码。Dalvik 是 Android 系统早期采用的一种虚拟机,它专门设计用于运行 ...
《深入解析Android虚拟机Dalvik》 Android操作系统的核心之一就是其独特的虚拟机——Dalvik。这个名字源于美国科罗拉多州的一个小镇,寓意着在移动设备有限的资源下,为应用提供高效运行环境的愿景。本篇文章将深入...