-
2.1 标记-清扫算法
-
2.2 三色抽象
-
2.3 改进的标记清扫算法
-
2.4 位图标记
-
2.5 懒惰清扫
-
2.6 标记过程中的高速缓存不命中问题
-
2.7 需要考虑的问题
第3章:标记-整理回收
===========
-
3.1 双指针整理算法
-
3.2 Lisp 2算法
-
3.3 引线整理算法
-
3.4 单次遍历算法
-
3.5 需要考虑的问题
第4章:复制式回收
=========
-
4.1 半区复制回收
-
4.2 遍历顺序与局部性
-
4.3 需要考虑的问题
第5章:引用计数
========
-
5.1 引用计数算法的优缺点
-
5.2 提升效率
-
5.3 延迟引用计数
-
5.4 合并引用计数
-
5.5 环状引|用计数
-
5.6 受限域引|用计数
-
5.7 需要考虑的问题
第2-5章详细描述了4种经典的垃圾回收算法,分别是标记-清扫算法、标记-整理算法、复制式回收算法以及引用计数算法。本篇对这些回收算法进行了深入的研究,并特别关注了其在现代硬件设施上的实现。
第6章:垃圾回收器的比较
============
-
6.1 吞吐量
-
6.2 停顿时间
-
6.3 内存空间
-
6.4 回收器的实现
-
6.5 自适应系统
-
6.6 统一垃圾回收理论
第6章深人比较了第2~ 5章所介绍的回收策略与算法,评估了它们各自的优缺点以及在不同情况下的适用性。
第7章:内存分配
========
-
7.1 顺序分配
-
7.2 空闲链表分配
-
7.3 内存碎片化
-
7.4 分区适应分配
-
7.5 分区适应分配与简单空闭链表分配的结合
-
7.6 其他需要考虑的问题
-
7.7 并发系统中的内存分配
-
7.8 需要考虑的问题
内存回收策略同样依赖于内存分配策略。第7章介绍了多种不同的内存分配技术,并进一步探究了自动垃圾回收与显式内存管理这两种场景下分配策略的不同之处。
第8章:堆内存的划分
==========
-
8.1 术语
-
8.2 为何要进行分区
-
8.3 如何进行分区
-
8.4 何时进行分区
前7章假定所有堆中的对象均采用相同的管理策略,但根据许多因素可知这并非一种良好的设计策略。第8章讨论了为何需要将堆划分为多个不同的空间,以及如何管理这些空间。
第9章:分代垃圾回收
==========
-
9.1 示例
-
9.2 时间测量
-
9.3 分代假说
-
9.4 分代与堆布局
-
9.5 多分代
-
9.6 年龄记录
-
9.7 对程序行为的适应
-
9.8 分代间指针
-
9.9 空间管理
-
9.10 中年优先回收
-
9.11 带式回收框架
-
9.12 启发式方法在分代垃圾回收中的应用
-
9.13 需要考虑的问题
-
9.14 抽象分代垃圾回收
第9章介绍了最成功的对象管理策略之一:分代垃圾回收。
第10章:其他分区策略
===========
-
10.1 大对象空间
-
10.2 基于对象拓扑结构的回收器
-
10.3 混合标记清扫、复制式回收器
-
10.4 书签回收器
-
10.5 超引用计数回收器
-
10.6 需要考虑的问题
第10章介绍了大对象的管理策略以及其他分区策略。
第11章:运行时接口
==========
-
11.1 对象分配接口
-
11.2 指针查找
-
11.3 对象表
-
11.4 来自外部代码的引用
-
11.5 栈屏障
-
11.6 安全回收点以及赋值器的挂起
-
11.7 针对代码的回收
-
11.8 读写屏障
-
11.9 地址空间管理
-
11.10 虚拟内存页保护策略的应用
-
11.11 堆大小的选择
-
11.12 需要考虑的问题
在构建垃圾回收器的过程中,与运行时系统其他部分的对接是最复杂的内容之一。因此第11章用了一整章的篇幅来介绍运行时接口,包括指针查找、能够安全发起垃圾回收的代码位置、读写屏障等。
第12章:特定语言相关内容
=============
-
12.1 终结
-
12.2 弱引用
-
12.3 需要考虑的问题
第12章讨论了特定语言相关内容,包括终结机制和弱引用。
第13章:并发算法预备知识
=============
-
13.1 硬件
-
13.2 硬件内存一致性
-
13.3 硬件原语
-
13.4 前进保障
-
13.5 并发算法的符号记法
-
13.6 互斥
-
13.7 工作共享与结束检测
-
13.8 并发数据结构
-
13.9 事务内存
-
13.10 需要考虑的问题
第13章探讨了现代硬件系统给垃圾回收器的实现者所带来的新机遇与挑战,同时介绍了同步、前进、结束、一致等问题的相关算法。
最后
做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务
有意想不到的价值。
当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。
更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务
[外链图片转存中…(img-AEm7IGiA-1714758558048)]
[外链图片转存中…(img-1kyTitVF-1714758558049)]
[外链图片转存中…(img-Al2vAcrw-1714758558049)]
[外链图片转存中…(img-3JOkaHlM-1714758558049)]