书籍详情
Android Runtime源码解析
作者:史宁宁
出版社:清华大学出版社
出版时间:2022-06-01
ISBN:9787302600848
定价:¥79.00
购买这本书可以去
内容简介
Android Runtime(ART)作为Android系统的核心组建,是Android应用运行及其效率的基础,了解ART的组成和执行流程,有利于Android应用开发者高效开发Android应用。同时,ART作为一种Java虚拟机,也是广大虚拟机开发者学习和改进的目标,了解ART有助于虚拟机的开发和调优。本书基于Android 10.0.0_r39源码,分析了ART基础、ART的compiler、ART的启动与运行、ART中的垃圾回收。这些分析旨在为读者搭建ART的基本框架,带领读者一起了解ART的基本情况,为进一步了解ART打下基础。本书适合想了解ART的App开发者、Android系统优化开发者及虚拟机开发者阅读,也适合高校学生学习虚拟机使用。
作者简介
史宁宁,现任中国科学院软件研究所智能软件研究中心PLCT实验室项目主管。吉林大学计算机学院硕士,2012年起作为核心开发人员和项目经理参与组织开发多个编译器项目。长期坚持撰写技术博客,其中“LLVM每日谈”“方舟编译器学习笔记”等专栏影响较大,曾出版图书两部。目前活跃在OSDT/HelloGCC/HelloLLVM、方舟编译器、RISC-V等开源社区,主要研究内容为Clang/LLVM、JVM等。
目录
第1章ART基础
1.1虚拟机基础
1.2ART发展历史
1.3ART核心架构
1.4源码目录介绍
1.5小结
第2章dex2oat工具介绍
2.1dex2oat入口代码分析
2.2dex2oat的driver分析
2.3dex2oat driver的编译函数
2.4DexToDexCompiler分析
2.5小结
第3章OptimizingCompiler介绍
3.1OptimizingCompiler类的JNI处理
3.2OptimizingCompiler:: Compile()
3.3HGraph的构建
3.3.1构建基于基本代码块的CFG
3.3.2构建支配树
3.3.3构建SSA
3.4优化
3.5寄存器分配
3.5.1PrepareForRegisterAllocation
3.5.2SsaLivenessAnalysis
3.5.3RegisterAllocator
3.6代码生成
3.7OptimizingCompiler总结
3.8小结
第4章OptimizingCompiler优化算法分析
4.1优化算法框架
4.2常量折叠
4.3指令简化
4.4死代码优化
4.5循环体优化
4.6指令下沉
4.7硬件平台相关优化pass及其实现
4.8小结
第5章ART启动分析
5.1ART启动中的虚拟机启动一
5.2ART启动中的虚拟机启动二
5.3ART启动中的JIT编译器的创建
5.4ART启动中的Thread处理
5.5ART启动中的运行时本地方法初始化
5.6ART启动中的其他本地方法的注册
5.7Zygote进程
5.7.1System Server进程
5.7.2应用进程
5.8小结
第6章ART的执行
6.1ART运行基本流程
6.2Zygote进程调用应用程序
6.2.1Zygote.forkAndSpecialize
6.2.2ZygoteConnection.handleChildProc
6.3类的查找与定义
6.4方法的加载和链接
6.5方法的执行
6.6小结
第7章ART GC实现
7.1GC的基本内容
7.2ART GC回收方案介绍
7.3ART GC回收器的实现
7.3.1回收器的类型
7.3.2不同类型回收器的实现
7.4ART GC的分配器实现
7.4.1分配器与空间类
7.4.2分配器与回收器
7.5ART GC的使用流程
7.5.1分配器的使用
7.5.2回收器的使用
7.6小结
参考文献
后记
1.1虚拟机基础
1.2ART发展历史
1.3ART核心架构
1.4源码目录介绍
1.5小结
第2章dex2oat工具介绍
2.1dex2oat入口代码分析
2.2dex2oat的driver分析
2.3dex2oat driver的编译函数
2.4DexToDexCompiler分析
2.5小结
第3章OptimizingCompiler介绍
3.1OptimizingCompiler类的JNI处理
3.2OptimizingCompiler:: Compile()
3.3HGraph的构建
3.3.1构建基于基本代码块的CFG
3.3.2构建支配树
3.3.3构建SSA
3.4优化
3.5寄存器分配
3.5.1PrepareForRegisterAllocation
3.5.2SsaLivenessAnalysis
3.5.3RegisterAllocator
3.6代码生成
3.7OptimizingCompiler总结
3.8小结
第4章OptimizingCompiler优化算法分析
4.1优化算法框架
4.2常量折叠
4.3指令简化
4.4死代码优化
4.5循环体优化
4.6指令下沉
4.7硬件平台相关优化pass及其实现
4.8小结
第5章ART启动分析
5.1ART启动中的虚拟机启动一
5.2ART启动中的虚拟机启动二
5.3ART启动中的JIT编译器的创建
5.4ART启动中的Thread处理
5.5ART启动中的运行时本地方法初始化
5.6ART启动中的其他本地方法的注册
5.7Zygote进程
5.7.1System Server进程
5.7.2应用进程
5.8小结
第6章ART的执行
6.1ART运行基本流程
6.2Zygote进程调用应用程序
6.2.1Zygote.forkAndSpecialize
6.2.2ZygoteConnection.handleChildProc
6.3类的查找与定义
6.4方法的加载和链接
6.5方法的执行
6.6小结
第7章ART GC实现
7.1GC的基本内容
7.2ART GC回收方案介绍
7.3ART GC回收器的实现
7.3.1回收器的类型
7.3.2不同类型回收器的实现
7.4ART GC的分配器实现
7.4.1分配器与空间类
7.4.2分配器与回收器
7.5ART GC的使用流程
7.5.1分配器的使用
7.5.2回收器的使用
7.6小结
参考文献
后记
猜您喜欢