Android系统是否包含JVM?

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

  • Android Studio - JAVA_HOME并未指向有效的JVM安装
  • Android Studio错误:“环境variables没有指向有效的JVM安装”
  • Androidunit testing不适用于Android库项目
  • 尽管可用内存可用,但OutOfMemory错误
  • Android-Studio:错误:无法创buildJava虚拟机
  • 如何在内存中运行编译kotlin文件的testing并检查结果?
  • 有没有可能在Android手机上安装Java FX?
  • JAVA_OPTS用于增加堆大小
  • 程序通常用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应用程序。 无论你认为一个替代另一个取决于你。