Minor GC详解(定义作用及GC过程)

Minor GC详解(定义作用及GC过程)-mikechen

Minor GC属于JVM垃圾收集的重要内容,而且Java面试也常考,下面重点详解Minor GC的作用与过程@mikechen

Minor GC定义

Minor GC是Java虚拟机进行垃圾回收的一种形式,也被称为年轻代垃圾回收。

 

Minor GC作用

Minor GC主要是用来清理年轻代的垃圾,Minor GC可以尽早地清理年轻代的垃圾,从而减少Full GC的次数。

 

Minor GC触发

Minor GC的触发条件通常包括以下两个方面:

1.对象数量达到一定阈值

在Java虚拟机中,年轻代通常被划分为一个Eden区和两个Survivor区。

Minor GC详解(定义作用及GC过程)-mikechen

当对象在Eden区中被分配后,如果Eden区无法容纳所有的对象,则会触发Minor GC。

2.内存空间不足

如果Java虚拟机中的内存空间不足,那么就需要回收一些垃圾对象以释放空间,此时,Java虚拟机可能会触发Minor GC以回收年轻代中的垃圾对象。

 

Minor GC过程

具体来说,Minor GC的回收过程如下:

  1. Java虚拟机首先会检查年轻代中的对象,将存活的对象复制到另一个Survivor区中,这个过程被称为复制。
  2. 如果年轻代中的对象已经占用了Survivor区的一定比例,那么就需要进行Minor GC。
  3. 在复制过程中,Java虚拟机会将存活的对象复制到另一个Survivor区中,并将原来的Survivor区清空。
  4. 同时,Java虚拟机会统计对象的年龄,并将年龄大于等于一定阈值的对象移动到老年代中。
  5. 如果Survivor区无法容纳所有存活的对象,则需要将这些对象直接放入老年代中。

以上就是Minor GC的详解,更多JVM请查看:JVM(Java虚拟机)从0到1全部合集

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法