Ich weiß, Android-System gehören die Dalvik virtuelle Maschine (DVM) Aber ich habe nicht verstanden, ob Android-System auch JVM enthält Oder DVM ist ein Ersatz für JVM? Danke
Programme werden üblicherweise in Java geschrieben und für die Java Virtual Machine in Bytecode kompiliert, der dann in Dalvik Bytecode und gespeichert in .dex (Dalvik EXecutable) und .odex (Optimized Dalvik EXecutable) Dateien.
Kurz gesagt, Programme werden in JVM-Bytecode kompiliert, der dann in DVM-Bytecode interpretiert wird. Anstatt den kompilierten Java-Code auszuführen, kompiliert Dalvik ihn und übersetzt diesen Code in seinen eigenen Code. Es ist in gewisser Weise ein Ersatz für die JVM.
In Android 4.4 "KitKat" wurde eine alternative Laufzeitumgebung namens Android Runtime (ART) als Technologievorschau eingefügt. ART ersetzt Dalvik vollständig in Android 5.0 "Lollipop".
ART, die Android Runtime, ersetzte Dalvik in Android 5.0. ART verwendet immer noch die gleichen .dex
-Dateien, aber sie werden stattdessen in .elf
-Dateien (ausführbares und linkbares Format) übersetzt. Dies ist ein weiterer Ersatz für die JVM, da Java-Code in JVM-Bytecode kompiliert, dann in DVM-Bytecode übersetzt, dann in eine ELF-Datei übersetzt und ausgeführt wird.
@Chris Thompson macht einen großartigen Job und erklärt den DVM-Bytecode auf Verständnis der Demontage von Dalvik Code .
Quellen: Wikipedia / Freunde / Erfahrungen
Aber ich habe nicht verstanden, ob Android-System JVM enthalten
Nein.
Oder DVM ist ein Ersatz für JVM?
Die Dalvik Virtual Machine dient zum Ausführen von Android-Anwendungen, die nach Dalvik-Bytecode kompiliert wurden. Die Java Virtual Machine dient zum Ausführen von Java-Anwendungen, die nach Java-Bytecode kompiliert sind. Ob Sie einen als Ersatz für den anderen betrachten, liegt an Ihnen.