android架构的理解

游客

标题:android架构的理解
正文:
（Android）java虚拟机和Dalvik虚拟机的区别Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性，Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用，和在低速CPU上表现出的高性能，确实令人刮目相看。 依赖于底层Posix兼容的操作系统，它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例， 其代码在虚拟机的解释下得以执行。 很多人认为Dalvik虚拟机是一个Java虚拟机，因为Android的编程语言恰恰就是Java语言。但是这种说法并不准确，因为Dalvik虚拟机并不是按照Java虚拟机的规范来实现的，两者并不兼容；同时还要两个明显的不同: Java虚拟机运行的是Java字节码，而Dalvik虚拟机运行的则是其专有的文件格式DEX（Dalvik Executable）。 在Java SE程序中的Java类会被编译成一个或者多个字节码文件（.class）然后打包到JAR文件，而后Java虚拟机会从相应的CLASS文件和JAR文 件中获取相应的字节码；Android应用虽然也是使用Java语言进行编程，但是在编译成CLASS文件后，还会通过一个工具（dx）将应用所有的 CLASS文件转换成一个DEX文件，而后Dalvik虚拟机会从其中读取指令和数据。Dalvik和Android系统Android作为新一代的基于Linux的开源手机操作系统，其系统架构由下而上可以分为以下几部分： Linux内核 本地库 Android运行库 应用框架 应用 java虚拟机和Dalvik虚拟机的区别： java虚拟机 Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈上数据，所需指令更多更多 dalvik虚拟机是基于寄存器的
[<<][[1]][2][3][>>]

查看评论(1)
发表评论

首页