当前位置:首页 > 虚拟机 > 正文

安卓是运行在java虚拟机的吗


一、安卓严格意义是不是运行在虚拟机的系统这又是废话了。Android系统的最底层是用C语言编写的。必须要说的是,Android应用程序运行在类似于JVM的虚拟机上。
二、java程序运行在android上,是运行在虚机上吗,还是直接运行在android上?Android的中间层大部分是用Java实现的,并使用专门针对移动设备优化的Dalvik虚拟机(DalvikVirtualMachine)。Dalvik虚拟机是一个“基于注册表”的Java虚拟机。所有变量都存储在临时寄存器中,向虚拟机发出的指令相对减少。
Dalvik虚拟机可以有多个实例每个Android应用程序都运行有自己的Dalvik虚拟机,这样可以在程序运行时对系统进行优化。Dalvik虚拟机并不运行Java字节码(.class文件),而是运行一个名为.dex格式的文件。
APK只是一个打包好的安装程序,可以用WinRAR/WinZip打开打开后会看到.dex文件,类似于Java的.class