JavaJVM · Java虚拟机原理 · JVM上语言·框架· 生态系统编程语言爱好者

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

2020-12-17  本文已影响0人  迦叶_金色的人生_荣耀而又辉煌

什么是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是非常重要的原因。

上一篇 下一篇

猜你喜欢

热点阅读