[5.1 数据类型](5.1%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md)
[5.2 C++源码构成及编译](5.2C++%E6%BA%90%E7%A0%81%E6%9E%84%E6%88%90%E5%8F%8A%E7%BC%96%E8%AF%91.md)
[5.3 Class介绍](5.3Class%E4%BB%8B%E7%BB%8D.md)
[5.4 操作符重载](5.4%E6%93%8D%E4%BD%9C%E7%AC%A6%E9%87%8D%E8%BD%BD.md)
[5.5 函数模板与类模板](5.5%E5%87%BD%E6%95%B0%E6%A8%A1%E6%9D%BF%E4%B8%8E%E7%B1%BB%E6%A8%A1%E6%9D%BF.md)
[5.6 lambda表达式](5.6lambda%E8%A1%A8%E8%BE%BE%E5%BC%8F.md)
[5.7 STL介绍](5.7STL%E4%BB%8B%E7%BB%8D.md)
[5.8 其他常用知识](5.8%E5%85%B6%E4%BB%96%E5%B8%B8%E7%94%A8%E7%9F%A5%E8%AF%86.md)
[5.9 参考资料](5.9%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99.md)
- 声明
- 推荐序
- 前言
- 第1章 本书必读
- 1.1 概述
- 1.2 准备环境和工具
- 1.3 本书的内容
- 1.4 本书资源下载说明
- 第2章 深入理解Class文件格式
- 2.1 Class文件格式总览
- 2.2 常量池及相关内容
- 2.3 field_info和method_info
- 2.4 access_flags介绍
- 2.5 属性介绍
- 2.6 Java指令码介绍
- 2.7 学习路线推荐
- 2.8 参考资料
- 第3章 深入理解Dex文件格式
- 3.1 Dex文件格式总览
- 3.2 认识Dex文件
- 3.3 Dex指令码介绍
- 3.4 学习路线推荐
- 3.5 参考资料
- 第4章 深入理解ELF文件格式
- 4.1 概述
- 4.2 ELF文件格式介绍
- 4.3 学习路线推荐
- 4.4 参考资料
- 第5章 认识C++11
- 5.1 数据类型
- 5.2 C++源码构成及编译
- 5.3 Class介绍
- 5.4 操作符重载
- 5.5 函数模板与类模板
- 5.6 lambda表达式
- 5.7 STL介绍
- 5.8 其他常用知识
- 5.9 参考资料
- 第6章 编译dex字节码为机器码
- 6.1 编译器全貌介绍
- 6.2 编译器前端介绍
- 6.3 优化器介绍
- 6.4 ART中的IR—HInstruction
- 6.5 寄存器分配
- 6.6 机器码生成相关代码介绍
- 6.7 总结
- 6.8 参考资料
- 第7章 虚拟机的创建
- 7.1 概述
- 7.2 Runtime Create介绍
- 7.3 MemMap与OatFileManager
- 7.4 FaultManager介绍
- 7.5 Thread介绍
- 7.6 Heap学习之一
- 7.7 JavaVMExt和JNIEnvExt
- 7.8 ClassLinker
- 7.9 总结和阅读指导
- 第8章 虚拟机的启动
- 8.1 Runtime Start
- 8.2 初识JNI
- 8.3 Jit LoadCompilerLibrary
- 8.4 Runtime InitNativeMethods
- 8.5 Thread相关
- 8.6 Runtime CreateSystemClassLoader
- 8.7 类的加载、链接和初始化
- 8.8 虚拟机创建和启动关键内容梳理
- 第9章 深入理解dex2oat
- 9.1 概述
- 9.2 ParseArgs介绍
- 9.3 OpenFile介绍
- 9.4 Setup介绍
- 9.5 CompileImage
- 9.6 OAT和ART文件格式介绍
- 9.7 总结
- 第10章 解释执行和JIT
- 10.1 基础知识
- 10.2 解释执行
- 10.3 ART中的JIT
- 10.4 HDeoptimize的处理
- 10.5 Instrumentation介绍
- 10.6 异常投递和处理
- 10.7 总结
- 第11章 ART中的JNI
- 11.1 JavaVM和JNIEnv
- 11.2 Java native方法的调用
- 11.3 CallStaticVoidMethod
- 11.4 JNI中引用型对象的管理
- 11.5 总结
- 第12章 CheckPoints、线程同步及信号处理
- 12.1 CheckPoints介绍
- 12.2 ThreadList和ThreadState
- 12.3 线程同步相关知识
- 12.4 volatile成员的读写
- 12.5 信号处理
- 12.6 总结
- 第13章 内存分配与释放
- 13.1 Space等关键类介绍
- 13.2 ZygoteSpace
- 13.3 BumpPointerSpace和RegionSpace
- 13.4 DlMallocSpace和RosAllocSpace
- 13.5 LargeObjectMapSpace
- 13.6 new-instance/array指令的处理
- 13.7 细观Space
- 13.8 Heap学习之二
- 13.9 总结
- 第14章 ART中的GC
- 14.1 GC基础知识
- 14.2 Runtime VisitRoots
- 14.3 ART GC概览
- 14.4 MarkSweep
- 14.5 ConcurrentCopying
- 14.6 MarkCompact
- 14.7 SemiSpace
- 14.8 Java Reference对象的处理
- 14.9 Heap学习之三
- 14.10 总结
- 14.11 参考资料