gpt4 book ai didi

java - DVM和JVM有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 13:13:35 25 4
gpt4 key购买 nike

Java虚拟机和Dalvik虚拟机有什么区别?

最佳答案

DVM 是基于寄存器的,旨在在低内存上运行,使用自己的字节码并运行 .Dex 文件

JVM 是基于堆栈的,它使用 java 字节码并运行具有 JIT 的 .class 文件。

Java 源代码由 Java 编译器编译成 .class 文件。然后 dx (dexer) 工具,Android SDK 的一部分,将 .class 文件处理成包含 Dalvik 字节码的称为 DEX 的文件格式。dx 工具消除了类中存在的所有冗余信息。在 DEX 中,应用程序的所有类都打包到一个文件中。DVM 的设计使设备可以高效地运行 VM 的多个实例。

基于堆栈的机器必须使用指令将数据加载到堆栈上并操作该数据,因此需要比寄存器机器更多的指令来实现相同的高级代码,但寄存器机器中的指令必须对源代码进行编码和目标寄存器,因此往往更大。

关于java - DVM和JVM有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com