FullGC、MinorGC、STW等常见问题如何解答

上一篇 <<<GC常用日志参数配置及分析工具说明
下一篇 >>>JVM性能调优的评估指标及调优示例


什么是Full GC?minor GC? major GC? STW?

minor GC:新生代回收的gc( STW)
major GC:老年代回收的GC
Full GC:minor GC+major GC
STW:stop the world

Minor GC和Full GC区别

新生代GC(MinorGC):Eden代满就会触发(Survivor满不会引发GC),非常频繁,一般回收速度也比较快。
老年代GC(MajorGC/Full GC):MajorGC通常是跟fullGC是等价的,收集整个GC堆,包括年轻代、年老代和方法区。出现了Major GC经常但不是必然会伴随至少一次的Minor GC。MajorGC的速度一般会比MinorGC慢10倍以上。
触发机制:年老代和永久代满了

Full gc触发条件

老年代是会变的,所以不会满就会回收,68%的时候采用我们的CMS回收,java8是默认92%。

JVM的永久代(方法区)中会发生垃圾回收么

垃圾回收不会主动发生在永久代,但如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full GC)。
如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的。这就是为什么正确的永久代大小对避免Full GC是非常重要的原因。


相关文章链接:
<<<JVM整体内存结构的图解,直观明了
<<<javap命令查看对象信息及操作方法在JVM层的实现原理
<<<javap命令反查汇编指令汇总
<<<ClassLoader类加载器顺序Demo测试与双亲委派源码解读
<<<自定义SPI和热部署技术破坏类加载器的双亲委派模式
<<<JVM中对象如何完成空间分配和初始化工作
<<<JVM元空间(方法区)和栈内存溢出原因及解决方案
<<<JVM堆内存溢出和内存泄露问题定位和解决
<<<JVM常见死锁问题产生原因和多种诊断方式
<<<服务器CPU飙升为100%问题排查及如何避免
<<<JVM内存诊断命令和排查工具汇总
<<<JVM新生代老年代算法汇总图解
<<<JVM垃圾回收不要手动System.gc的真正原因
<<<JVM垃圾回收引用计数法和根搜索算法图解
<<<JVM垃圾回收STW(Stop-The-World)代码演示
<<<JVM垃圾回收器的发展历程及使用场景汇总
<<<JVM串行并行垃圾回收器的关注点
<<<一张图看懂CMS垃圾回收器的底层原理
<<<G1能作为JDK9默认垃圾回收器的优势分析
<<<CMS和G1的漏标问题解决及三色标记算法图解
<<<GC中新生代进入老年代的方式汇总
<<<GC常用日志参数配置及分析工具说明
<<<JVM性能调优的评估指标及调优示例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容