博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android的Dalvik虚拟机
阅读量:5966 次
发布时间:2019-06-19

本文共 501 字,大约阅读时间需要 1 分钟。

hot3.png

一、 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字节码翻译成本地机器码的过程。

转载于:https://my.oschina.net/u/1792000/blog/356515

你可能感兴趣的文章
linux系统mount命令挂载windows系统共享文件夹
查看>>
网易云音乐ubuntu 18.04下无法打开的解决办法
查看>>
解决Mysql ERROR 1045 (28000)“Access denied for user 'root'@'localhost'”
查看>>
DNS 解析过程详解
查看>>
NodeSchool: JavaScript函数式编程
查看>>
intellij idea常用设置
查看>>
多线程
查看>>
4月第三周国内域名解析商Top10:万网升至20.32%
查看>>
五,通道之间的数据传输
查看>>
[Troubleshooting]-Outlook预定Lync预定会议显示乱码与残留号码
查看>>
系统无法启动
查看>>
关于使用Aptana+Pydev构建Python开发环境(Django)
查看>>
windows temp用户问题
查看>>
Mysql数据库备份和还原常用的命令
查看>>
Category:UITextField添加点击事件
查看>>
关于大数据和互联网的一点想法
查看>>
一个可以检测网络内主机类型的脚本
查看>>
常见的mysql集群
查看>>
Django Tips
查看>>
HTML5教程:1.1 迎接新的Web时代
查看>>