码迷,mamicode.com
首页 > 移动开发 > 详细

Android的Dalvik虚拟机

时间:2014-12-16 11:57:56      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:android   style   ar   color   os   sp   java   strong   on   

一、 Dalvik虚拟机

其实也算是一个JAVA虚拟机,只不过它执行的不是class文件,而是dex文件

Dalvik虚拟机和ART虚拟机都实现了三个用来抽象Java虚拟机的接口:

  1. JNI_GetDefaultJavaVMInitArgs -- 获取虚拟机的默认初始化参数

  2. JNI_CreateJavaVM -- 在进程中创建虚拟机实例

  3. JNI_GetCreatedJavaVMs -- 获取进程中创建的虚拟机实例

Android系统中,Davik虚拟机实现在libdvm.so中,ART虚拟机实现在libart.so中。也就是说,libdvm.solibart.so导出了JNI_GetDefaultJavaVMInitArgsJNI_CreateJavaVMJNI_GetCreatedJavaVMs这三个接口,供外界调用。

二、从两个角度来了解ART虚拟机是如何做到无缝替换Dalvik虚拟机的?

 1. ART虚拟机的启动过程;

 2. Dex字节码翻译成本地机器码的过程。






Android的Dalvik虚拟机

标签:android   style   ar   color   os   sp   java   strong   on   

原文地址:http://my.oschina.net/u/1792000/blog/356515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!