Dalvik是Google公司自己设计用于Android平台的Java虚拟机。目前有传闻说Dalvik的出现是为了躲避Sun公司Jave Micro Edition的版权问题而开发。但Apache实验室表示:Sun公司表示将希望和Google做到Jave API的兼容性。但通过查看Android SDK中的例子发现存在Java ME和Android类库并存的问题。看来真的像官方所说的Dalvik的出现是扩展Java ME,至少J2ME无法做到系统级开发,这样做的好处也是为了保证自己可以和Symbian和Windows Mobile平台竞争,由于Android目前没有本地C++开发支持,如果采用标准的Sun Jave VM将会很被动缺乏竞争力。 Android程序运行于Dalvik 虚拟机之上,Dalvik虚拟机和Java VM有很多区别,比如Google Dalvik VM基于寄存器,而Sun Java VM基于栈,这样可以做到在编译时提前优化代码而不是等到运行时,虽然Dalvik还没有像Sun JIT那样的类似VB采用Native编译而非P-code动态解释,Dalvik最终编译Java Class为Dex字节码,成为一种中间语言Common Intermediate Language简称CIL和微软.Net构架相似。 还有传统的Java程序是单实例运行,由于Android平台上的应用目前全部由Java语言编写,所以Google需要优化Dalvik的多实例多线程运行同时更好的管理资源,移动设备的处理能力和桌面电脑还很难相比。
dalvik/ jvm
最新推荐文章于 2020-01-09 12:10:39 发布