Difference One: DVM executes the. dex format File The JVM executes the. class file After the Android program is compiled, the. class file is produced, and then the Dex tool processes the. class file into a. dex file, and then packages the resource file and the. dex file into a. apk file. APK is the meaning of Android package. The JVM executes a. class file.
Difference Two: DVM is a register based virtual machine and JVM execution is a virtual machine based on virtual stacks. Register access speed is much faster than the stack, DVM can be based on hardware to achieve maximum optimization, more suitable for mobile devices.
Difference three:. class files have a lot of redundant information, and the Dex tool removes redundant information and consolidates all. class files into a. dex file. Reduced I/O operations and improved lookup speed of classes