Ⅳ.GC

作者: 唐騦忆 | 来源:发表于2020-02-16 11:51 被阅读0次

1.GC简介

GC,又称YGC,只针对新生代的GC;
FGC,GC后不满足对象存储会发生FGC,针对新生代,养老代,元空间的GC;
FGC后依然不满足对象存储会发生OOM。
-XX:+PrintGCDetails 输出GC日志


GC日志

2.GC详述

GC即分代收集算法,包括
次数上频繁收集的新生代,
次数上较少收集的养老代,
基本不动的元空间。



GC与FGC

3.GC判断

3.1 引用计数法
3.2 可达性分析

4.GC算法

4.1 复制算法

发生在YGC中



优点:复制算法的核心优势是不会产生碎片,保证eden和from区会有大块可用空间;
缺点:产生一定空间的浪费。


优缺点
4.2 标记清除

发生在FGC中



优点:不需要额外的空间;
缺点:两次扫描更耗时,产生内存碎片。


优缺点
4.3 标记压缩

发生在FGC中,由标记清除+标记整理实现。
优点:没碎片,无额外空间。
缺点:浪费时间


4.4 综合比较
算法比较
分代收集算法

5.其他

4.1 System.gc();

手动GC(相较于系统的自动GC),是否开启GC取决于GC线程是否已经准备就绪,正常编程禁止使用手动GC。
一个运行的空类包括main和GC两个线程。

相关文章

网友评论

      本文标题:Ⅳ.GC

      本文链接:https://www.haomeiwen.com/subject/gwdpfhtx.html