然后运行一个程序后,能够看到它的一些初始配置信息
移动到最后一句,就能看到 -XX:+UseParallelGC 说明使用的是并行垃圾回收
-XX:+UseParallelGC 垃圾收集器Java中一共有7大垃圾收集器
UserSerialGC:串行垃圾收集器
UserParallelGC:并行垃圾收集器
UseConcMarkSweepGC:(CMS)并发标记清除
UseParNewGC:年轻代的并行垃圾回收器
UseParallelOldGC:老年代的并行垃圾回收器
UseG1GC:G1垃圾收集器
UserSerialOldGC:串行老年代垃圾收集器(已经被移除)
**
参数说明
DefNew:Default New Generation
Tenured:Old
ParNew:Parallel New Generation
PSYoungGen:Parallel Scavenge
ParOldGen:Parallel Old Generation
G1垃圾收集器各区都能使用
新生代 老年代- Serial Copying: UserSerialGC,串行垃圾回收器
ParNew:UserParNewGC,新生代并行垃圾收集器
- Parallel Scavenge:UserParallelGC,并行垃圾收集器
|
- Serial Old:UseSerialOldGC,老年代串行垃圾收集器
Parallel Compacting(Parallel Old):UseParallelOldGC,老年代并行垃圾收集器
CMS:UseConcMarkSwepp,并行标记清除垃圾收集器
|
垃圾收集器组合选择、参数配置
单CPU或者小内存,单机程序
-XX:+UseSerialGC
多CPU,需要最大的吞吐量,如后台计算型应用
-XX:+UseParallelGC(这两个相互激活)
-XX:+UseParallelOldGC
多CPU,追求低停顿时间,需要快速响应如互联网应用
-XX:+UseConcMarkSweepGC
-XX:+ParNewGC
| 参数 | 新生代垃圾收集器 | 新生代算法 | 老年代垃圾收集器 | 老年代算法 |
-XX:+UseSerialGC SerialGC 复制 SerialOldGC 标记整理-XX:+UseParNewGC ParNew 复制 SerialOldGC 标记整理
-XX:+UseParallelGC Parallel [Scavenge] 复制 Parallel Old 标记整理
-XX:+UseConcMarkSweepGC ParNew 复制 CMS + Serial Old的收集器组合,Serial Old作为CMS出错的后备收集器 标记清除
-XX:+UseG1GC G1整体上采用标记整理算法 局部复制
参数配置
G1垃圾收集器 开启G1垃圾收集器 -XX:+UseG1GC 以前收集器的特点
年轻代和老年代是各自独立且连续的内存块
年轻代收集使用单eden + S0 + S1 进行复制算法
老年代收集必须扫描珍整个老年代区域