七、JVM系列(垃圾回收的几种类型)

2021-05-10  本文已影响0人  大虾啊啊啊

Minor GC

从年轻代回收内存被称为Minor GC。

Major GC

从老年代回收内存,被称为 Major GC
Major GC是由Maior GC触发的,Marjor GC作用于老年代,当分配对象时候发现内存不够的时候,会触发Minor GC,将新生代的对象移动到老年代,当老年代的内存不够的时候,就会触发 Marjor GC。

Full GC

清理整个堆空间,包括年轻代,老年代,永久代,
当准备要触发Minor GC的时候,发现年轻代剩余的空间比以往晋升的还要小,则不会触发Minor GC,直接触发 Full GC。(也就JVM认为,在原来那么大的内存空间的时候,已经发生了对象晋升成老年代,说明这次更小的空间,更加会晋升,因此直接触发Full GC,整理一下老年代和年轻代的空间)
另外在永久代分配空间,发现内存不足的时候,也会触发Full GC。

Stop-The-World

意思就是整个世界停止,指的是在进行垃圾回收时因为标记和清理的需要,必须让所有非回收垃圾的线程停止工作,从而让回收垃圾的线程回收垃圾产生的时间间隔。
在Stop-The-World这段期间,非垃圾回收线程都要暂停工作。只有等到回收完毕,才能继续工作。因此可以知道频繁的垃圾回收,以及Stop-The-World的时间直接会影响到了程序的响应时间。

上一篇下一篇

猜你喜欢

热点阅读