java程序运行在android上,是运行在虚机上吗,还是直接运行在android上?

java程序运行在android上,是运行在虚机上吗,还是直接运行在android上?

Android的中间层多以Java 实现,并且采用特殊的针对移动设备进行优化过的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
Dalvik虚拟机可以有多个实例, 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(.class文件),而是运行一种称为.dex格式的文件。
APK只是打包了的安装程序,可以用WinRAR/WinZip打开的,打开后你就会看到.dex文件,作用类似Java的.class
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-28
ANDROID的应用程序格式是APK,不是JAVA哦,你可能听别人说安卓是用JAVA编写的,就想着安卓是运行JAVA的吧,其实编写安卓的JAVA语言跟你认识的JAVA是有所不同的,也就是像诺基亚和索爱手机上面运行机的那些JAVA跟安卓的是的所区别的,不能相提并论,你要用安卓运行JAVA程序也要用到虚拟机才行本回答被提问者采纳
第2个回答  2011-06-28
代码是用Java写,运行是在虚拟机上
第3个回答  2011-06-28
是在虚拟机上
相似回答