JVM和Dalvik的区别

来源:互联网 发布:思讯收银软件多少钱 编辑:程序博客网 时间:2024/04/29 23:40

基于平台不同:

Dalvik基于寄存器,而JVM基于栈,KVM基于栈 

运行环境不同:

在有限的内存,允许同时运行多个Dalvik实例,并且每一个Dalvik应用作为一个独立的Linux进程执行。 

        JVM只能运行一个JVM实例,JVM因平台的不一样进程也不一样。 
        KVM只能一个实例运行。 
运行语言:   
Dalvik可以运行不同的语言,如java和Scala。 

        JVM可以运行不同的语言,如java和Python语言 
        KVM运行j2me语言 

运行格式不同:

Dalvik是.dex

JVM一般是.class

KVM一般是.class 

编写语言:

Dalvik是一般由C或C++编写

JVM一般是C++或java编写

KVM一般是C或C++ 

效率不同:

Dalvik是基于寄存器所以效率高于基于栈的JVM,KVM 

加载函数不同:

Dalvik是Dexfile加载class类文件

JVM和KVM是ClassLoader 

0 0