导图社区 GC收集器
这是一篇关于GC 收集器的思维导图。包含了年轻代:复制算法;老年代:标记-整理算法;垃圾收集器如何选择;垃圾收集器搭配等内容。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
GC 收集器
年轻代
SerialGC
复制算法
单线程垃圾收集,用户线程暂停
ParallelGC
多线程垃圾收集,用户线程暂停
ParNewGC
和ParallelGC很相似,区别在于ParNew可以和CMS搭配使用
老年代
SerialOldGC
标记-整理算法
ParallelOldGC
ConcMarkSweepGC
标记-清除算法
多线程垃圾收集,用户线程和垃圾收集线程并行(仅在初始标记和重新标记时,用户线程暂停)
真正的并发收集器,可以让垃圾收集和用户线程同时(基本上)进行
不再物理区分年轻代、老年代
G1GC
多线程垃圾收集,用户线程和垃圾收集线程并行(仅在初始标记、最终标记、筛选回收时,用户线程暂停)
不再物理区分年轻代和老年代,将堆内存划分为多个大小相等的独立区域(region)
逻辑上保留了年轻代和老年代的概念
不分代(暂时)、实验性质
ZGC
支持TB级的堆
最大停顿时间不超过10ms
吞吐量最大会降低15%
作为未来垃圾收集器的基础
垃圾收集器如何选择
4G以下可以选择Parallel
4-8G可以选择ParNew+CMS
8G以上用G1
几百G以上用ZGC
垃圾收集器搭配
jdk1.8默认使用Parallel
jdk1.9默认使用G1
jdk11支持linux
jdk14支持mac和windows