I'm trying to understand what types of Java pre will not run when "fed" into the Dalvik JVM.
Dalvik JVM在以下方面与其他JVM不同:
与标准Java虚拟机使用的JAR和Pack200格式相比,它使用特殊的DEX格式存储应用程序二进制文件。Google声称DEX生成的二进制文件比JAR小。我认为他们可以成功使用Pack200,但他们决定在这方面走自己的路
Dalvik JVM经过优化,可以同时运行多个JVM进程
Dalvik JVM使用基于寄存器的体系结构与其他JVM的基于堆栈的体系结构,旨在加快执行速度并减小二进制大小
它使用自己的指令集(不是标准的JVM字节码)
一个可以在一个JVM进程中运行(如果需要)多个独立的Android应用程序
应用程序执行可以自然地跨越多个Dalvik JVM进程。为此,它增加了:
基于Parcel和Parcelable类的特殊对象序列化机制。从功能上讲,它的作用与标准Java Serializable相同,但其数据占用空间较小,并且可能对类版本的差异更宽容
基于Android接口定义语言(AIDL)的特殊Android执行进程间调用(IPC)的方式
在Android 2.2之前,Dalvik JVM不支持JIT编译,这会对Android应用程序性能产生不利影响。在2.2中添加它可以显着提高常用应用程序的执行速度



