基于逃逸分析的android垃圾收集性能优化研究
摘要 | 第5-6页 |
Abstract | 第6页 |
第1章 绪论 | 第9-18页 |
1.1 研究目的和意义 | 第9-11页 |
1.2 国内外研究现状 | 第11-16页 |
1.2.1 垃圾收集研究现状 | 第11-12页 |
1.2.2 逃逸分析研究现状 | 第12-15页 |
1.2.3 对象内存空间管理优化应用 | 第15-16页 |
1.2.4 分析优化框架 | 第16页 |
1.3 本文的研究内容 | 第16页 |
1.4 论文组织 | 第16-18页 |
第2章 垃圾收集策略 | 第18-31页 |
2.1 垃圾收集的意义 | 第18-19页 |
2.2 引用计数算法 | 第19-22页 |
2.2.1 引用计数算法原理 | 第19-21页 |
2.2.2 引用计数算法的优缺点 | 第21-22页 |
2.3 标记清除算法 | 第22-24页 |
2.3.1 标记清除算法原理 | 第22-23页 |
2.3.2 标记清除算法的优缺点 | 第23-24页 |
2.4 节点复制算法 | 第24-28页 |
2.4.1 节点复制算法原理 | 第26-27页 |
2.4.2 节点复制算法的优缺点 | 第27-28页 |
2.5 标记缩并算法 | 第28-31页 |
2.5.1 标记缩并算法原理 | 第28-30页 |
2.5.2 标记缩并算法的优缺点 | 第30-31页 |
第3章 逃逸分析 | 第31-42页 |
3.1 逃逸分析的意义 | 第31-32页 |
3.2 逃逸分析的框架 | 第32-35页 |
3.2.1 对象的逃逸 | 第32-33页 |
3.2.2 连接图的抽象 | 第33-34页 |
3.2.3 逃逸分析的基本思想 | 第34-35页 |
3.3 过程内分析 | 第35-37页 |
3.4 过程间分析 | 第37-42页 |
3.4.1 方法入.处的操作 | 第38-39页 |
3.4.2 方法退出时的操作 | 第39-40页 |
3.4.3 程序调用之前和程序调用之后的操作 | 第40-42页 |
第4章 逃逸分析的实现与实验结果 | 第42-56页 |
4.1 与传统方法的不同 | 第42-43页 |
4.2 算法描述 | 第43-46页 |
4.2.1 一个例子 | 第43-45页 |
4.2.2 算法小结 | 第45-46页 |
4.3 算法的实现 | 第46-49页 |
4.3.1 数据结构和改变 | 第47-48页 |
4.3.2 解释器产生的静态引用 | 第48页 |
4.3.3 多线程与本地代码 | 第48-49页 |
4.3.4 一个优化措施 | 第49页 |
4.4 实验及结果分析 | 第49-56页 |
4.4.1 收集的对象 | 第50-51页 |
4.4.2 等价集合的大小与生命周期 | 第51-52页 |
4.4.3 在多线程下的表现 | 第52-53页 |
4.4.4 性能与开销 | 第53-54页 |
4.4.5 大型程序下的情况 | 第54-56页 |
结论 | 第56-57页 |
参考文献 | 第57-61页 |
攻读学位期间发表论文与研究成果清单 | 第61-62页 |
致谢 | 第62页 |