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/
分享到:
相关推荐
Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Android应用程序中的Dalvik虚拟机实例实际上是从Zygote进程的地址空间拷贝而来的,这样就可以加快Android应用...
进入 Android Dalvik 虚拟机,android dalvik介绍 Dalvik 虚拟机的特点——掌握 Android 程序的运行原理 Android 系统的架构采用分层思想,这样的好处是拥有减少各层之间的依赖性、便于独 立分发、容易收敛问题和...
Dalvik是Google公司自己设计用于Android平台的虚拟机。 Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。 它可以支持已转换为** .dex格式**的Java应用程序的运行,.dex格式是专为...
NULL 博文链接:https://hwy1782.iteye.com/blog/1860810
Android Dalvik文件 编译方法
Google原创的Android Dalvik虚拟机讲义
Dalvik虚拟机内存管理
dalvik_hook_demo,一个hook的例子
Dalvik指令集ppt
在SDKandroid中是不能看Dalvik的,想看还需要!有需要的可以下载
android 4.0.4 源码中的dalvik的bytecode指令说明文档.
Dalvik VM Instruction Formats
Android Dalvik 虚拟机,想了解Android Dalvik 的朋友看过来
Dalvik 指令集 for2010
Android虚拟机Dalvik完整源码
dalvik虚拟机运行过程分析,详细介绍了dalvik虚拟机。
安卓4.2的系统源代码 虚拟机dalvik的(完整) 今天终于找到了,好东西一起分享。
深入理解Android之dalvik.pdf
dalvik字节编辑器