美文网首页
Dalvik虚拟机简要介绍

Dalvik虚拟机简要介绍

作者: 曾经灬 | 来源:发表于2019-06-17 17:56 被阅读0次

    参考Dalvik虚拟机简要介绍和学习计划

    一、与java虚拟机的不同

    Dalvik虚拟机使用的指令是基于寄存器的,而Java虚拟机使用的指令集是基于堆栈的。
    一般而言,执行同样的功能,java需要更多的指令(主要是load和store指令),dalvik需要更多的指令空间。需要更多指令意味着要多占用CPU时间,而需要更多指令空间意味着数据缓冲(d-cache)更易失效。
    基于堆栈更利于移植,因为它不对目标机器的寄存器进行任何假设。

    二、内存管理

    Dalvik虚拟机的内存大体上可以分为Java Object Heap、Bitmap Memory和Native Heap三种。
    Java Object Heap是用来分配Java对象的
    Native Heap就是在Native Code中使用malloc等分配出来的内存,这部分内存是不受Java Object Heap的大小限制的,也就是它可以自由使用,当然它是会受到系统的限制。
    Bitmap Memory也称为External Memory,它是用来处理图像的。

    三、即时编译

    Dalvik选择JIT即时编译,JIT只会选择那些热点代码进行编译或者优化。根据2-8原则,一个程序80%的时间可能都是在重复执行20%的代码。因此,JIT就可以选择这20%经常执行的代码来进行编译和优化。

    相关文章

      网友评论

          本文标题:Dalvik虚拟机简要介绍

          本文链接:https://www.haomeiwen.com/subject/cxdzfctx.html