pha*_*ase 21
程序通常用Java编写并编译为Java虚拟机的字节码,然后将其转换为Dalvik字节码并存储在.dex(Dalvik EXecutable)和.odex(Optimized Dalvik EXecutable)文件中.
简而言之,程序被编译成JVM字节码,然后将其解释为DVM字节码.Dalvik不是运行已编译的Java代码,而是编译它,然后将该代码转换为它自己的代码.它在某种程度上是JVM的替代品.
Android 4.4"KitKat"中包含一个名为Android Runtime(ART)的备用运行时环境作为技术预览.ART在Android 5.0"Lollipop"中完全取代了Dalvik.
ART,Android Runtime取代了Android 5.0中的Dalvik.ART仍然使用相同的.dex文件,但它们被翻译成.elf(可执行文件和可链接格式)文件.这是JVM的另一个替代品,因为Java代码被编译成JVM字节码,然后被翻译成DVM字节码,然后被翻译成ELF文件并执行.
@Chris Thompson在理解Dalvik代码的反汇编时解释了DVM字节码.
来源:维基百科 /朋友/经验
Com*_*are 11
但我不明白android系统是否包含JVM
没有.
或者DVM是JVM的替代品?
Dalvik虚拟机用于执行编译为Dalvik字节码的Android应用程序.Java虚拟机用于执行编译为Java字节码的Java应用程序.你是否认为一个人可以替代另一个人取决于你.
| 归档时间: |
|
| 查看次数: |
16558 次 |
| 最近记录: |