Dalvik虚拟机是Google公司设计的一款用于安卓平台的虚拟机软件,可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭!

Dalvik虚拟机性能
基于堆栈的机器与基于寄存器的机器谁更有优势一直是个争论不休的话题。
一般来说,基于堆栈的机器必须使用指令才能从堆栈上的加载和操作数据,因此,相对基于寄存器的机器,它们需要更多的指令才能实现相同的性能。但是基于寄存器机器上的指令必须经过编码,因此,它们的指令往往更大。这种差异主要是vm机对的操作码调度造成的,它们往往比其他的因素昂贵,比如说及时汇编。
然而,2010年,在oracle公司(java技术的拥有者)嵌入式设备上的标准非图形化性能测试表明,android 2.2(最初的版本包括一个即时编译器)比java se嵌入式设备(两者都基于 java se 6)慢2-3倍。
Dalvik虚拟机软件特色
Dalvik虚拟机非常适合在移动终端上使用,相对于在桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU速度和大量的内存空间。根据Google的测算,64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大。
归纳起来,Dalvik虚拟机有如下几个主要特征:
专有的DEX文件格式
DEX是Dalvik虚拟机专用的文件格式,而问什么弃用已有的字节码文件(CLASS文件)而采用新的格式呢?
1.一个应用中会定义很多类,编译完成后即会有很多相应的CLASS文件,CLASS文件间会有不少冗余的信息;而DEX文件格式会把所有的CLASS文件内容整合到一个文件中。这样,除了减少整体的文件尺寸,I/O操作,也提高了类的查找速度。
2.增加了新的操作码的支持
3.文件结构尽量简洁,使用等长的指令,借以提高解析速度
4. 尽量扩大只读结构的大小,借以提高跨进程的数据共享
如何生成DEX文件呢?Android系统和Dalvik虚拟机提供了工具(DX),在把Java源代码编译成CLASS文件后,使用DX工具。


驱动人生10
360解压缩软件2023
看图王2345下载|2345看图王电脑版 v10.9官方免费版
WPS Office 2019免费办公软件
QQ浏览器2023 v11.5绿色版精简版(去广告纯净版)
下载酷我音乐盒2023
酷狗音乐播放器|酷狗音乐下载安装 V2023官方版
360驱动大师离线版|360驱动大师网卡版官方下载 v2023
【360极速浏览器】 360浏览器极速版(360急速浏览器) V2023正式版
【360浏览器】360安全浏览器下载 官方免费版2023 v14.1.1012.0
【优酷下载】优酷播放器_优酷客户端 2019官方最新版
腾讯视频播放器2023官方版
【下载爱奇艺播放器】爱奇艺视频播放器电脑版 2022官方版
2345加速浏览器(安全版) V10.27.0官方最新版
【QQ电脑管家】腾讯电脑管家官方最新版 2024