Android运行环境主要指的是虚拟机技术Dalvik。Android的所有程序都是运行在Dalvik VM上的。Android的每个程序都有自己的线程,DVM只执行.dex的Dalvik executable文件。每一个Android应用程序在底层都对应有一个独立的DVM实例并在其解释下执行。
虽然DVM也是用Java编程语言,但是Dalvik虚拟机和一般的Java虚拟机JVM并不兼容。他们两个的区别是JVM的执行标准是.class的字节码,而DVM执行的的是专有的.dex执行文件。
在编译过程中,Java把类编译成一个或者多个.class by code文件,然后打包到jar中,JVM会从jar文件中获得相应的.class文件和JRE字节码。