Android系统是否包含JVM?

我知道Android系统包括Dalvik虚拟机(DVM)但是我不明白,如果Android系统包含JVM还是DVM是JVM的替代品? 谢谢

Solutions Collecting From Web of "Android系统是否包含JVM?"

程序通常用Java编写,并编译成Java虚拟机的字节码,然后转换为Dalvik字节码,并存储在.dex(Dalvik可执行文件)和.odex(Optimized Dalvik可执行文件)文件中。

总之,程序被编译成JVM字节码,然后解释成DVM字节码。 Dalvik不是编译Java代码,而是编译它,然后将代码翻译成自己的代码。 它在某种程度上是JVM的替代品。

作为技术预览,Android 4.4“KitKat”中包含一个名为Android Runtime(ART)的替代运行时环境。 ART在Android 5.0“棒棒堂”中完全取代Dalvik。

ART(Android运行时)在Android 5.0中取代了Dalvik。 ART仍使用相同的.dex文件,但它们被转换成.elf (可执行文件和可链接格式)文件。 这是JVM的另一个替代品,因为Java代码被编译成JVM字节码,然后被转换成DVM字节码,然后被转换成ELF文件并被执行。

@Chris Thompson在了解Dalvik代码的反汇编方面做了很好的解释DVM字节码 。

来源: 维基百科 /朋友/经验

但我不明白,如果Android系统包括JVM

没有。

还是DVM是JVM的替代品?

Dalvik虚拟机用于执行编译为Dalvik字节码的Android应用程序。 Java虚拟机用于执行编译为Java字节码的Java应用程序。 无论你认为一个替代另一个取决于你。