G1收集器优势
文章目录
G1收集器优势
G1 可以充分利用服务器多核的优势
- 并行与并发
- 分代收集
- 空间整合
- 可预测的停顿 【精确指定 垃圾回收时间不超过 m】
G1 后台有一张表 remember set
, 对 region 进行排序,回收哪个region
效率高,就回收哪个
G1 相比 CMS 的一个优势就是:减少停顿的时间, 其他的不比CMS优秀
RSet有什么好处?
进行垃圾回收时,如果Region1有根对象A引用了Region2的对象B,显然对象B是活的,如果没有Rset,就需要扫描整个Region1或者其它Region,才能确定对象B是活跃的,有了Rset可以避免对整个堆进行扫描。
RSet有什么风险?
通过对RSet实现过程的研究,我们得知应用线程只负责把更新字段所在的Card插入到dirty card queue中,然后由后台线程refinement threads负责RSet的更新操作,如果应用线程插入速度过快,refinement threads来不及处理,那么应用线程将接管RSet更新的任务,这是必须要避免的。
refinement threads线程数量可以通过-XX:G1ConcRefinementThreads
或-XX:ParallelGCThreads
参数设置
作者:占小狼 链接:https://www.jianshu.com/p/870abddaba41 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
文章作者 LYR
上次更新 2021-08-14