首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > Android虚拟机

Android虚拟机

资料介绍
Android虚拟机第四章 Android 虚拟机
4.1 Dalvik 虚拟机简介

Java 语言的一个非常重要的特点就是与平台的无关性。而使用 Java 虚拟机是实现这一特点 的关键。一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码。而 引入 Java 语言虚拟机后,Java 语言在不同平台上运行时不需要重新编译。 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机 上运行的目标代码(字节码) ,就可以在多种平台上不加修改地运行。Java 虚拟机在执行字 节码时,把字节码解释成具体平台上的机器指令执行。 Dalvik 的出现是为了躲避 Sun 公司 Java ME 的版权以及授权问题, 由 Google 公司自己设计用 于 Android 平台的 Java 虚拟机.

4.2

Dalvik 虚拟机的主要特征

专有的 DEX 文件格式 一个应用中会定义很多类,编译完成后即会有很多相应的 CLASS 文件,CLASS 文件间会有不 少冗余的信息;而 DEX 文件格式会把所有的 CLASS 文件内容整合到一个文件中。这样,除 了减少整体的文件尺寸,I/O 操作,也提高了类的查找速度。 原来每个类文件中的常量池, 在 DEX 文件中由一个常量池来管理。 一个应用,一个虚拟机实例,一个进程 每一个 Android 应用都运行在一个 Dalvik 虚拟机实例里,而每一个虚拟机实例都是一个独立 的进程空间。虚拟机的线程机制,内存分配和管理,Mutex 等等都是依赖底层操作系统实现 的。所有 Android 应用的线程都对应一个 Linux 线程,虚拟机因而可以更多的依赖操作系统 的线程调度和管理机制。 不同的应用在不同的进程空间里运行,加之对不同来源的应用都使用不同的 Linux 用户来运 行,可以最大程度的保护应用的安全
标签:Android虚拟
Android虚拟机
本地下载

评论