天天看点

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

2.垃圾回收概述

2.1.垃圾回收算法

2.1.1.垃圾回收算法-标记清除算法

2.1.2.垃圾回收算法–复制算法

2.1.3.垃圾回收算法–标记整理算法和分代收集算法

2.1.4.垃圾回收算法–Serial收集器详解

2.1.5.垃圾回收算法–Parnew收集器详解

2.1.6.垃圾回收算法–Parallel收集器详解

2.1.7.垃圾回收算法–CMS收集器详解

2.1.8.最牛的垃圾回收集器–g1收集器详解

2.垃圾回收概述

对象什么时候才能变成垃圾。

如何判定对象为垃圾对象。

关于垃圾回收的三个问题:

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

分代收集算法。

2.1.垃圾回收算法

2.1.1.垃圾回收算法-标记清除算法

问题:效率问题

2.1.2.垃圾回收算法–复制算法

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

新生代里面的三个区域的用途。

内存占比:

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

复制算法主要针对新生代的算法。针对老年代,效率很低。

2.1.3.垃圾回收算法–标记整理算法和分代收集算法

主要针对老年代的。

针对:频率不高,很少的情况。

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

让回收的,往右。

分代收集算法:根据新生代和老年代采用不同的算法。

2.1.4.垃圾回收算法–Serial收集器详解

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述
2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

2.1.5.垃圾回收算法–Parnew收集器详解

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

多个线程去收集垃圾

2.1.6.垃圾回收算法–Parallel收集器详解

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

上图中的下面两个参数为了”控制吞吐量”。

都是多线程收集器

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

为了降低中间的那段时间。

吞吐量:CPU用于运行用户代码的时间与CPU消耗的总时间壁纸。

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

2.1.7.垃圾回收算法–CMS收集器详解

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

标记清除算法

内存碎片。

性能非常低。

老年代收集器。

CMS是一个并发收集器

CMS的关注点也主要是

工作过程是:

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

初始标记:

引用计数法。

可达性分析法。

缺点:

1、占用大量的CPU资源

2.1.8.最牛的垃圾回收集器–g1收集器详解

优势:

1、并行与并发

2、分代收集

3、空间整合

4、可预测的停顿

2、垃圾回收算法(标记清除算法、复制算法、标记整理算法和分代收集算法),各种垃圾收集器讲解(学习笔记)2.垃圾回收概述

步骤:

1、初始标记(并行的)

2、并发标记

3、最终标记

4、筛选回收

查找什么是Remember set

通过一张表的方式。

继续阅读