Android(OPhone)系统的模拟器为Dalvik,DEX文件格式为Android操作系统上的Dalvik虚拟机可执行文件即Dalvik VM executes 的缩写。

下文翻译自John R. Rose在Google I/O上的介绍,《The top ten things I learned about Android and the Dalvik VM》,略有删节。其英文博客原文地址为:http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at 。

1.Android是Linux/JVM 的简化版,他们重写了libc,减小到200k,重做了速度-空间的优化,扔掉了c++的例外和c级别的wide char的支持。
2.该平台的一个特别的地方是他们在减少私有页面开销时花费了很大的功夫。
3.他们不用OpenJDK而是使用Harmony的主要原因是GPL。
4.Android 1.0 的虚拟机是很简单的:一个类似资源分配(malloc-like)的堆和一个解释器。
5.不使用JVM字节码的关键理由是解释器的复杂性和脏页面的印记。
6.虚拟机使用dex文件就像java cards使用自己的内部指令集一样。据说它可以在手机上得到局部优化运行。该工具链使用class文件,有一个叫dx的工具可以把jar转换成dex的汇编文件。
7.dx之类的工具可以强制植入手机,使java代码可以继续生成字节码,然后还要转换成虚拟机可以执行的格式。
8.dx将class文件转换成静态单一赋值形式(SSA:Static Single Assignment), 然后转换成dex文件。该过程中没有优化(optimizations are missing)。
9.dex格式的常数pool通常是合并的带类型的,具有32位的索引。它很有可能会促进java的class文件标准的升级。
10.人们感激Sun之前做的java服务性工作,但是并不能看到Sun对人们未来的导引。

更多相关文章

  1. Android------播放音乐的工具类
  2. Android显示PDF文件之PDFviewer
  3. Android Studio开启虚拟机报错!emulator: ERROR: x86 emulation c
  4. android NDK mk文件模板
  5. android工具之DDMS
  6. android开发前奏曲之开发工具ADT
  7. 4.0 Android中资源文件
  8. android的apk文件的xml提取

随机推荐

  1. 二、ANDROID命令详解
  2. android的启动过程
  3. android交叉编译工具链接下载
  4. 高级组件之进度条
  5. android 底部Tab添加水波纹效果
  6. 错误parsing XML: ubound prefix
  7. 【进阶篇】Android学习笔记――TextInput
  8. Android毕设之Fragment+TabHost(三)
  9. Android(安卓)动画之TranslateAnimation
  10. It's Android Time—Google Android创赢