一 面向服务端应用,针对具有大内存、多处理器的机器。
在普通大小的山里表现并不惊讶。
二 最主要的应用是需要低 GC 延迟,并具有大堆的应用程序提供解决方案。
例如,如果堆大小等于或大于约6GB,则可预测的暂停时间可以小于0.5秒; (G1是增量清理,每次只清理一部分,而不是所有的Region,从而避免每次GC暂停时间变长。)。
三 用来替换掉 JDK1.5 中的 CMS 收集器,在下面的情况时,使用 G1 可能比 CMS 好。
超过50%的Java堆被活动数据占用
对象分配频率或年代上升频率变化较大
GC暂停时间太长(0.5秒至大于1秒) )。
四 HotSpot 垃圾收集器里,除了G1 以外,其他的垃圾收集器使用内置的 JVM 线程执行 GC 的多线程操作,而 G1 GC 可以采用应用线程承担后台运行的 GC 工作,即当 JVM 的 GC 线程处理速度慢时,系统会调用应用程序线程帮助加速垃圾回收过程。