读书笔记-JVM-JDK8之前垃圾回收器

38 阅读1分钟

Serial收集器

新生代垃圾收集器,是单线程的垃圾收集器,采用标记-复制算法,收集垃圾时必须stop the world

Serial Old收集器

Serial收集器的老年代版本,采用标记-整理算法,同样需要stop the world

目前还是客户端模式的默认收集器,对于单核处理器,或者核心数较少的话,效率比较高

ParNew收集器

Serial收集器的多线程并发版本,新生代收集器,唯一能和CMS收集器配合使用的,

-XX:ParallelGCThreads限制线程数

Parallel Scavenge

新生代收集器,多线程并行,标记-复制算法实现,和ParNew收集器相似,关注的是尽可能达到一个可控的吞吐量(运行代码时间/运行代码时间+垃圾回收时间)

-XX:MaxGCPauseMillis 控制最大垃圾收集时间

-XX:GCTimeRatio 设置吞吐量的大小

-XX:+UseAdaptiveSizePolicy 开启后将不需要设置新生代大小-Xmn并且也不用设置Eden、Survivor的比例-XX:SurvivorRatio,晋升老年代对象的大小-XX:PretenureSizeThreshold,虚拟机会根据当前系统运行的情况收集性能监控信息。动态调整这些参数或者最大吞吐量

Parallel Old

Parallel Scavenge的老年代版本,标记-整理算法