The Java virtual machine organizes the memory it requires to execute a program
进入几个运行时数据区域。
Generally, stack-based machines must use instructions to load data on the stack
并操纵数据,因此,需要更多的指令
寄存器机器实现相同的高级代码,但指令
在寄存器机器中必须对源寄存器和目标寄存器进行编码
因此,往往更大。
这种差异主要是重要的 VM 解释器的操作码
调度往往是昂贵的,其他因素与 JIT 编译有关。
Dalvik 针对低内存需求进行了优化,具有一些特殊的特性
这使它与其他标准 VM > > > > > 有所区别
虚拟机只是减少了使用更少的空间-> >
Dalvik 目前没有即时编译器(JIT) ,而是 Android 2.0
包括一个实验源(默认禁用)。
常量池已经修改为仅使用32位索引以简化操作
the interpreter. It uses its own bytecode, not Java bytecode***
Here, We can get the basic difference among the JVM (Java Virtual Machine) and DVM (Dalvik Virtual Machine).
从图中可以明显看出,DVM 只能运行。Dex 文件。Dex 编译器采用所有。类(可以由 JVM 执行)文件,用于所有属于应用程序的类,并将所有类转换为单个。Dex 档案。回见。指针文件由 DVM 执行。另外。类文件(java 编译器)生成的类文件。Java-> .同学们。