JVM 调优实战--垃圾收集器(串行、ParNew并行、ParallelNew并行、CMS、G1)

目录


串行垃圾收集器

编写测试代码 

设置垃圾回收器为串行垃圾回收器

并行垃圾收集器

ParNew垃圾收集器

idea设置为ParNew

ParallelGC垃圾收集器

idea中设置为ParallelGC 

CMS垃圾收集器

idea设置为CMS垃圾回收器

G1垃圾收集器

原理

Young GC

RememberedSet已记忆集合

Mixed GC

全局并发标记

拷贝存活对象

G1垃圾收集器相关参数

idea中设置为G1

G1垃圾收集器优化建议


在JVM中,实现了多种垃圾收集器,包括:串行垃圾收集器、并行垃圾收集器、CMS(并行)垃圾收集器

串行垃圾收集器

一般在Java web应用程序中是不会采用串行垃圾收集器的。一旦进行垃圾回收,应用就会被暂停,还怎么好好玩耍了!STW:Stop The World

编写测试代码 

设置垃圾回收器为串行垃圾回收器

Allocation Failure:分配失败 

GC是年轻代的GC,FGC是全面GC包括metaspace元数据空间。

并行垃圾收集器

ParNew垃圾收集器

idea设置为ParNew

ParallelGC垃圾收集器

idea中设置为ParallelGC 

CMS垃圾收集器

Marking和FinalMarking会标记两次,这是由于在【预处理】结束后会产生一些新的对象,所以要最终再标记一次。

idea设置为CMS垃圾回收器

 

以上日志信息,也可以看出来CMS的执行过程。

G1垃圾收集器

原理

Young GC

RememberedSet已记忆集合

RSet是G1垃圾收集器中的一个技术亮点。

Mixed GC

默认当老年代的大小占整个堆大小45%时会触发Mixed GC。

全局并发标记

拷贝存活对象

G1垃圾收集器相关参数

idea中设置为G1

-XX:+UseG1GC

G1垃圾收集器优化建议

发布了824 篇原创文章 · 获赞 369 · 访问量 79万+

猜你喜欢

转载自blog.csdn.net/a772304419/article/details/104004153
今日推荐