JVM性能调优-各种GC

JVM性能调优-各种GC,第1张

JVM性能调优-各种GC Major GC和Full GC区别

Full GC:收集年轻代,年老代,永久代(元数据区,即元空间、metaspace,java8后取代永久代)。
Major GC:只收集年老代。

触发机制 Minor GC触发机制

年轻代(Eden区)满(无法为新创建的对象分配空间)时触发,survivor满时不触发,通过复制算法回收垃圾,复制算法不产生内存碎片。复制算法会将空间区间和活动区间交换。会触发stop-the-world,但速度很快。

Major GC触发机制

老年代空间不够用,标记清理算法清理出连续的内存空间,分配给对象使用。

Full GC触发机制

1> 调用System.gc()。
2> 老年代空间不足。
3> 方法区空间不足。
4> 通过Eden区,Survivor space1(From space)向Survivor space2(To space)复制时,对象大小大于To space可用内存,则将对象转存到老年代,且老年代可用内存小于该对象大小时,永久代(方法区)满也会触发Full GC,会导致Class Method元信息的卸载。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5582891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存