Dalvik解释器采用预先算好的Goto地址,每个指令对内存的访问都在64字节边界上对齐 。这样可以节省一个指令后进行查表的时间 。为了强化功能, Dalvik还提供了快速翻译器(Fast Interpreter) 。
性能基于堆栈的机器与基于寄存器的机器谁更有优势一直是个争论不休的话题 。
一般来说,基于堆栈的机器必须使用指令才能从堆栈上的加载和操作数据,因此,相对基于寄存器的机器,它们需要更多的指令才能实现相同的性能 。但是基于寄存器机器上的指令必须经过编码,因此,它们的指令往往更大 。这种差异主要是VM机对的操作码调度造成的,它们往往比其他的因素昂贵,比如说及时汇编 。
然而,2010年 , 在Oracle公司(Java技术的拥有者)嵌入式设备上的标准非图形化性能测试表明,Android 2.2(最初的版本包括一个即时编译器)比Java SE嵌入式设备(两者都基于 Java SE 6)慢2-3倍 。
类库Dalvik虚拟机既不支持Java SE 也不支持Java ME类库(如:Java类,AWT和Swing都不支持) 。相反,它使用自己建立的类库(Apache Harmony Java的一个子集) 。
其他许可与专利
Dalvik是基于Apache License 2.0发布的 。Google说Dalvik是一个清洁室(clean room)的实现,而不是一个在标准Java运行环境的改进,这意味着它不继承标准版本的或开源的Java运行环境的版权许可限制 。关于这一点,Oracle和一些专家还在讨论中 。
已于2009年4月收购Sun(Sun Microsystems)的Oracle获得了Java的专利,在2010年8月12日起诉Google侵犯其版权和专利 。Oracle声明,Google在开发Android当中直接并且多次侵犯关于Java的知识产权 。在2012五月 , 陪审团认为Google没有侵犯Oracle的专利,法官认定Google所使用的Java APIs没有版权 。双方同意零美元法定赔偿的9行复制代码(9 lines of copied code) 。
非Android平台
【Android虚拟机软件,android虚拟机开发】2011年,Myriad Group软件公司公布了除了android以外一个新的Dalvik虚拟机平台端口“Alien Dalvik” 。
- 哪个英语翻译软件比较好用 哪个翻译软件比较准确
- 有没有好玩的软件
- Android13来了它真的平庸又鸡肋吗
- 手机写小说的软件排行榜 什么手机看小说最好
- androidwear,android 手表怎么用
- 音乐拼接软件 音乐拼接软件手机软件
- 好用的手机测量工具软件,苹果手机测量工具
- LeicaFOTOS软件下载后相机为什么连不上
- snow拍照软件,snow拍照软件官方
- 安卓苹果换机软件 手机装机必备app