Chapter3.2 Java垃圾收集器

来源:互联网 发布:linux apache是否启动 编辑:程序博客网 时间:2024/06/15 02:20

Java垃圾收集器:


垃圾收集器之间的连线表示收集器可以相互协作,收集器所在的区域表示新生代收集器还是老生代收集器。

Serial收集器:

1.单线程收集器

2.进行垃圾收集时,必须暂停其他所有线程,知道垃圾收集完成。

3.简单高效


ParNew收集器:

1.Serial收集器的多线程版本,回收策略、内存分配、参数设置都相同

2.收集效果并不比Serial收集器好


Parallel Scavenge收集器:

1.并行的多线程收集器

2.目标是达到一个可控制的吞吐量,吞吐量=运行代码时间/(运行代码时间+垃圾收集时间)


Serial Old收集器:

1.Serial收集器的老年代版本

2.单线程收集器


Parallel Old收集器:

1.Parallel Scavenge收集器的老版本、使用多线程和标记-整理算法

2.吞吐量优先收集器


CMS收集器:

1.获取最短停顿时间的垃圾收集器

2.标记清除算法

3.过程步骤为:初始标记、并发标记、重新标记、并发清除


4.缺点:CMS收集器对CPU资源非常敏感、CMS收集器无法处理浮动垃圾、产生大量内存碎片

G1收集器:

1.面向服务端应用的垃圾收集器、标记整理算法

2.特点:并发与并行、分代收集、空间整合、可预测停顿

3.步骤:初始标记、并发标记、最终标记、筛选回收


理解GC日志:




原创粉丝点击