**
前言
**
Android虚拟机技术——Dalvik VM是通往Android高级开发的必备技术!为了让广大读者深入理解Android系统,不再停留在抽象的原理和概念之上,本书对Android虚拟机方面的知识进行了细致分析,这样做的目的是“提炼”出Android系统的本质,了解Android系统究竟是如何运作的,进程和线程之间是如何协调并进的,内存之间是如何分配并存的。并以此为基础,详细讲解了内存优化、垃圾收集和系统优化方面的基本原理和具体实现。
Android系统从诞生到现在的短短几年时间里,凭借其易用性和开发的简洁性,赢得了广大开发者的支持。在整个Android系统中,Dalvik VM一直是贯穿从底层内核到高层应用开发的核心。本书循序渐进地讲解了Android虚拟机系统的基本知识,并剖析了其整个内存系统的进程和运作流程,并对虚拟机系统优化和异常处理的知识进行了详细讲解。本书几乎涵盖了Dalvik VM系统的所有主要内容,并且讲解方法通俗易懂,特别有利于读者学习并消化。
本书适合Android初学者、Android底层开发人员、源代码分析人员和虚拟机开发人员学习,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。
目录
**[第1章 获取并编译Android源码
1.1 获取Android源码](https://yq.aliyun.com/articles/98591)**
1.1.1 在Linux系统获取Android源码
1.1.2 在Windows平台获取Android源码
1.1.3 Windows获取Android L源码
1.2 分析Android源码结构
1.3 编译Android源码
1.3.1 搭建编译环境
1.3.2 开始编译
1.3.3 在模拟器中运行
1.3.4 常见的错误分析
1.3.5 实践演练——演示两种编译Android程序的方法
1.4 编译Android Kernel
1.4.1 获取Goldfish内核代码
1.4.2 获取MSM内核代码
1.4.3 获取OMAP内核代码
1.4.4 编译Android的Linux内核
**[第2章 Java虚拟机基础
2.1 虚拟机的作用](https://yq.aliyun.com/articles/98597)**
2.2 Java虚拟机概述
2.2.1 JVM的数据类型
2.2.2 Java虚拟机体系结构
2.2.3 JVM的生命周期
2.3 JVM的安全性
2.3.1 JVM的安全模型
2.3.2 沙箱模型的4种组件
2.3.3 分析Java的策略机制
2.4 网络移动性
2.4.1 现实需要网络移动性
2.4.2 网络移动性
2.5 内存异常和垃圾处理
2.5.1 内存分配中的栈和堆
2.5.2 运行时的数据区域
2.5.3 对象访问
2.5.4 内存泄露
2.5.5 JVM的垃圾收集策略
2.5.6 垃圾收集器
2.6 Java内存模型
2.6.1 Java内存模型概述
2.6.2 主内存与工作内存
2.6.3 内存间交互操作