摘要:
大纲 1.G1的FGC可以优化的点 2.一个bug导致的FGC(Kafka发送重试 + subList导致List越来越大) 3.为什么G1的FGC比ParNew + CMS要更严重 4.FGC的一些参数及优化思路 1.G1的FGC可以优化的点 (1)FGC的基本原理 (2)遇到FGC应该怎么处理 阅读全文
摘要:
大纲 1.大对象导致频繁Mixed GC的案例 2.Mixed GC到底是在优化什么(从避免到提速) 3.Mixed GC相关参数详解之堆内存分配参数 4.Mixed GC其他相关的参数详解及优化 1.大对象导致频繁Mixed GC的案例 (1)案例背景 (2)问题现场 (3)Redis缓存有什么问 阅读全文
摘要:
大纲 1.5千QPS的数据报表系统发生性能抖动的优化(停顿时间太小导致新生代上不去) 2.由于产生大量大对象导致系统吞吐量降低的优化(大对象太多频繁Mixed GC) 3.YGC其他相关参数优化之TLAB参数优化 4.YGC其他相关参数优化之RSet、PLAB和大对象的处理优化 1.5千QPS的数据 阅读全文
摘要:
大纲 1.TLAB的GC日志解读 2.YGC的GC日志解读 3.模拟YGC(单次GC及多次GC的不同场景) 4.打开实验选项查看YGC的详情日志信息 5.Mixed GC日志信息之初始标记过程 6.Mixed GC日志信息之混合回收过程 7.Mixed GC日志信息之Region的详细信息和标记过程 阅读全文
摘要:
大纲 1.FGC的一些前置处理 2.FGC的整体流程 3.传统FGC只能串行化 + G1的FGC可以并发化 4.并行化FGC之并行标记 + 任务窃取 5.并行化FGC之跨分区压缩 + 避免对象跨分区 6.并行化FGC之更新引用位置 + 移动对象处理 7.G1新特性之字符串去重优化 8.总结G1对FG 阅读全文
摘要:
大纲 1.Mixed GC混合回收是什么 2.YGC可作为Mixed GC的初始标记阶段 3.Mixed GC并发标记算法详解(一) 4.Mixed GC并发标记算法详解(二) 5.Mixed GC并发标记算法详解(三) 6.并发标记的三色标记法 7.三色标记法如何解决错标漏标问题 8.SATB如何 阅读全文
摘要:
大纲 1.G1的YGC过程 2.YGC并行处理阶段的过程 3.YGC串行处理阶段的过程(一) 4.YGC串行处理阶段的过程(二) 5.整个YGC的执行流程总结 1.G1的YGC过程 (1)YGC相关的一些参数 (2)YGC和MixedGC、FGC之间的关系 (3)YGC使用的算法 + 新生代的垃圾回 阅读全文
摘要:
大纲 1.G1为了提升GC的效率设计了哪些核心机制 2.G1中的记忆集是什么 3.G1中的位图和卡表 4.记忆集和卡表有什么关系 5.RSet记忆集是怎么更新的 6.DCQ机制的底层原理是怎样的 7.DCQS机制及GC线程对DCQ的处理 提升G1垃圾回收器GC效率的黑科技 G1设计了一套TLAB机制 阅读全文
摘要:
大纲 1.G1的对象分配原理是怎样的 2.深入分析TLAB机制原理 3.借助TLAB分配对象的实现原理是什么 4.什么是快速分配 + 什么是慢速分配 5.大对象分配的过程 + 与TLAB的关系 6.救命的稻草—JVM的最终分配尝试 G1如何分配对象+TLAB机制+分区协调机制 G1设计了一套TLAB 阅读全文
摘要:
大纲 1.G1垃圾回收器的分区(Region大小+G1分区+Region过大过小和计算) 2.Region大小的计算原理(先转字节然后确定2的n次幂再通过1左移n位) 3.新生代分区及自动扩展(新生代动态扩展机制) 4.停顿预测模型(衰减算法)保证预期停顿时间 1.G1垃圾回收器的分区(Region 阅读全文