android菜鸟日记——jvm和dalvik

   android运行时由两部分完成:android核心库和Dalvik虚拟机。

  android使用java语言编写,并且每个java程序在java虚拟机上JVM运行,但是android系统是运行在移动设备上,并不使用java虚拟机JVM来运行。而是使用Dalvik VM。每个android应用程序都运行在单独的一个Dalvik虚拟机上内,这样也 方便了android系统对应用程序的隔离。

   使用JVM就是使Java程序不受操作系用的束缚,理论上在任何操作系统中,子要有JVM就可运行java程序。

   Dalvik VM实在android系统上运行android程序的虚拟机,执行文件格式-dex字节码来完成对象生命周期管理、堆栈管理、线程管理等重要功能。

  因为用java语言来编写程序,我们容易错误的认为android程序使用的是JVM,其实不然,并且Dalvik VM不遵守JVM规范,两者也不兼容。

  也可从两者的编译过程中看出不同:

JVM: .java——.class——.jar

Dalvik VM:.java——.class——.dex

  从效率上看,Dalvik VM把.java文件编译成.class文件后,会对.class文件重构,使用这种方法大大提升了android系统的运行速度.


  

技术有限,有不正确之处求大佬们指教!

猜你喜欢

转载自blog.csdn.net/qq_39512671/article/details/79605575