自Oracle JDK 7 update 4之后,JVM中引入了一种新的垃圾收集器--G1垃圾收集器(Garbage-First Collector)。之前的一篇文章,有介绍一些基本的垃圾收集器,比如比较常用的CMS垃圾收集器,但即便是CMS垃圾收集器,其也有一些不足,比如,不能很好地处理内存碎片的问题,随着应用的运行,也会导致内存使用率不高,因此通常在使用CMS垃圾收集器时,会设置相对较大的堆大小。G1垃圾收集器则旨在能够比CMS垃圾收集器更合理地管理内存,或者说更智能地管理内存。本文将介绍有关G1垃圾收集器的基本原理,以便开发人员能考虑在生产中使用之。