JVM垃圾回收器

暗尘随马去,明月逐人来。—苏味道《正月十五夜》

垃圾回收器

垃圾回收器 区域
Serial收集器(复制算法、串行GC) 新生代单线程收集器,标记和清理都是单线程,优点是简单高效。
ParNew收集器(停止-复制算法、并行GC) 新生代收集器,可以认为是Serial收集器的多线程版本,在多核CPU环境下有着比Serial更好的表现。
Parallel Scavenge收集器(停止-复制算法、并行GC) 新生代收集器,追求高吞吐量,高效利用CPU。吞吐量一般为99%, 吞吐量= 用户线程时间/(用户线程时间+GC线程时间)。适合后台应用等对交互相应要求不高的场景。
GC自适应的调节策略: Parallel Scavenge收集器有一个参数- XX:+UseAdaptiveSizePolicy 。当这个参数打开之 后,就不需要手工指定新生代的大小、Eden与Survivor区的比例、晋升老年代对象年龄等细节参数了,虚拟机会根 据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供合适的停顿时间或者大的吞吐量,这种调 节方式称为GC自适应的调节策略(GC Ergonomics)。
CMS(Concurrent Mark Sweep)收集器(标记-清理算法、并发GC) 老年代收集器高并发、低停顿,追求最短GC回收停顿时间,cpu占用比较高,响应时间快,停顿时间短,多核cpu 追求高响应时间的选择
Serial Old收集器(标记-整理算法、串行GC) 老年代单线程收集器,Serial收集器的老年代版本。
Parallel Old收集器(使用多线程和“标记-整理”算法、并行GC) Parallel Scavenge收集器的老年代版本,并行收集器,吞吐量优先
G1收集器(唯一一款全区域的垃圾回收器)
新生代使用复制算法,老年代使用标记-清除算法
G1(Garbage First)垃圾回收器是用在heap memory很大的情况下,把heap划分为很多很多的region块,然后 并行的对其进行垃圾回收。
G1垃圾回收器在清除实例所占用的内存空间后,还会做内存压缩。

垃圾回收器

猜你喜欢

转载自blog.csdn.net/logicr/article/details/81216024