android笔试题一_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > android笔试题一

android笔试题一

 2017/6/11 5:31:34  妖久  程序员俱乐部  我要评论(0)
  • 摘要:1.AndroidDVM(DalvikVM)的进程和Linux的进程,应用程序的进程是同一个概念吗?DVM(DalvikVM)指dalvik的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念。运行在自己的DVM进程之中,不同的app不会相互干扰,且不会因为一个DVM的崩溃导致所有的app进程都崩溃。Android运行环境主要指的虚拟机技术——Dalvik
  • 标签:笔试 android

 

1.Android DVM(Dalvik VM)的进程和Linux的进程, 应用程序的进程是同一个概念吗?

DVM(Dalvik VM)指dalvik的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。运行在自己的DVM进程之中,不同的app不会相互干扰,且不会因为一个DVM的崩溃导致所有的app进程都崩溃。

Android 运行环境主要指的虚拟机技术——Dalvik。Android中的所有Java程序都是运行在Dalvik VM上的。Android上的每个程序都有自己的线程,DVM只执行.dex的Dalvik executable 文件。每个Android应用在底层都对应有一个独立的DVM实例并在其解释下执行。

 

2. Android中DVM与java中的JVM异同点:

DVM:Dalvik virtual machineclass="Apple-converted-space"> 
JVM:Java virtual machine

区别一:dvm执行的是.dex格式文件  jvm执行的是.class文件   Android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件。apk就是android package的意思。 jvm执行的是.class文件。

区别二:dvm是基于寄存器的虚拟机  而jvm执行是基于虚拟栈的虚拟机。寄存器存取速度比栈快的多,dvm可以根据硬件实现最大的优化,比较适合移动设备

区别三:.class文件存在很多的冗余信息,dex工具会去除冗余信息,并把所有的.class文件整合到.dex文件中。减少了I/O操作,提高了类的查找速度。

 

上一篇: 单点登录SSO:可一键运行的完整代码 下一篇: 没有下一篇了!
发表评论
用户名: 匿名