深入理解Android:Java虚拟机ART

邓凡平
前言 本书主要内容及特色 本书是笔者“深入理解Android”系列的第四本。本书将关注Android系统中至关重要的部分——Java虚拟机ART。市面上介绍Java虚拟机的书籍非常多,但鲜少有书籍能从虚拟机源代码出发对其进行详细分析。随着Android设备的大规模普及,ART虚拟机已经成为当今使用最为广泛的JVM之一。所以,对ART虚拟机进行研究有着非同寻常的意义。本书的出现在一定程度上填补了这方面的空白。 本书的主要内容概述如下: ·第1章介绍ART虚拟机学习前需要准备好的工具、环境等。 ·第2章介绍Class文件的格式及内容。 ·第3章介绍Android中Dex文件的格式。 ·第4章介绍ELF文件格式。 ·第5章介绍C++11相关的、能帮助读者阅读ART源码的必备知识。 ·第6章以编译原理为基础,介绍ART虚拟机编译相关的知识。 ·第7章以ART Runtime对象的创建为主线,介绍主要的模块及一些关键类、数据结构等知识。 ·第8章以ART Runtime的Start为主线进行分析,覆盖的内容包括相关模块的启动、类的解析、加载、链接、初始化等。 ·第9章介绍dex字节码转机器码的核心进程dex2oat以及.oat和.art文件格式。 ·第10章介绍虚拟机的解释执行和JIT部分以及异常的投递和处理的过程。 ·第11章介绍JNI在ART虚拟机的实现。 ·第12章介绍虚拟机Java线程执行相关的知识,包括线程暂停和恢复运行、synchronized、Object wait/notify的实现、volatile变量的读写处理等。 ·第13章介绍内存分配和释放相关的知识。包括ART虚拟机中的各种Space类型、new指令的实现以及ART虚拟机中Heap模块的部分内容。 ·第14章介绍和垃圾回收有关的基础知识以及相关垃圾回收器,还有Java Reference的处理以及Heap模…