Android中Dalvik和JVM的区别是什么

2025-05-23 15:55:41
推荐回答(1个)
回答1:

按照android官方的说法,android是用java代码编写的,运行在Dalvik虚拟机;
在手机上运行的每各android程序,包含一个android运行时、Dalvik虚拟机和android的核心库。
所以可以这样理解,Dalvik是google自己实现的一个jvm(jvm不只sun有,ibm也自己实现了,据我了解,也就是jvm可以自行实现);
这里的关键就是,你在使用android编写程序的时候,使用的java.lang、java.util、java.io等java的核心包,应该是google的核心类库来实现的这些功能,既然google官方说了“android是用java代码编写的”,这就代表这些类和java中的一样,也就是google按java的规范来实现的他们。而像android.view这样的包只在android中才有,但也是由google的核心类库来实现的。也就是google的核心类库实现了java的基础类同时实现了android的类;这才是问题的关键。至于Dalvik把他理解为为手机设备优化的jvm就可以了。