the difference between a Java virtual machine and a Dalvik virtual machine:
Java Virtual machine
Dalvik virtual Machines
Java virtual machines are stack -based. Stack-based machines must use instructions to load and manipulate data on the stack, with more commands required
The Dalvik virtual machine is a register -based
The Java virtual machine is running Java bytecode. (Java classes are compiled into one or more bytecode. class files, packaged into a. jar file, the Java virtual machine gets the appropriate bytecode from the corresponding. class file and the. jar file)
Dalvik is running the custom. Dex bytecode format. (After the Java class is compiled into a. class file, all the. class files are converted to a. dex file through a DX tool, and then the Dalvik virtual opportunity reads the instructions and data from them)
Chang has been modified to use only 32-bit indexes to simplify the interpreter. Dalvik heap and stack parameters can be changed by-XMS and-XMX
An application, a virtual machine instance, a process (all Android app threads are corresponding to a Linux thread, all running in their own sandbox, and different apps running in different processes.) Each Android Dalvik application is given a standalone Linux PID (app_*))
The difference between a Java virtual machine and a Dalvik virtual machine