1.垃圾回收器
JVM垃圾回收器有串行和并行两种。
1.1 Serial收集器(串行,单线程),现在使用较少
Serial一般收集新生代
SerialOld一般收集老年代(采用标记压缩算法)
1.2 ParNew收集器(多线程,并行)
低延迟,采用复制标记算法
1.3 Parallel收集器(多线程,并行)
可以控制JVM吞吐量的大小,一般设置为1%的执行时间
1.4 CMS收集器
低延迟
四个阶段:
CMS-Initial-mark
CMS-concurrent-mark
CMS-remark
CMS-concurrent-sweep
1.5 G1收集器
可以像CMS收集器一样,GC操作与应用线程并发执行
紧凑的空闲内存区间且没有很长的GC停顿时间
需要可预测的GC暂停耗时
不想牺牲太多吞吐量性能
启动后不需要请求更大的Java堆
主要应用场景:
1.Full GC次数太频繁或消耗时间太长
2.对象分配的频率以代数方式提升
3.垃圾回收或内存整理时间太长