目录
G1是什么
Garbage-First收集器,是一款面向服务端应用的收集器,应用在多处理器和大容量内存环境中,实现了高吞吐量的同时尽可能满足垃圾收集暂停时间的要求。具有以下特征:
- 像CMS收集器一样,能与应用程序并发执行
- 整理空闲空间更快
- 需要更多时间来预测GC停顿时间
- 不希望牺牲大量的吞吐量性能
- 不需要更大的Java Heap
- Eden、Survivor和Tenured等内存区域不再是连续了,而是变成一个个大小一样的region,每个region从1M到32M不等。一个region有可能属于Eden,Survivor或者Tenured内存区域
G1收集器设计的目标是取代CMS收集器,它同CMS相比,在以下方面表现的更出色
- 是一个整理内存过程的垃圾收集器,不会产生很多内存碎片。
- G1的停顿时间更可控,G1在停顿时间上添加了预测机制,用户可指定期望停顿时间
G1从JDK1.9开始变成了默认的垃圾收集器,替换掉了CMS,它是一款面向服务端应用的收集器,主要应用再多CPU和大内存服务器下,极大减少垃圾收集的停顿时