-XX:+UseParallelGC与 -XX:+UseParNewGC相关介绍

首先看一个图(所有的垃圾回收器,以及工作的堆空间)

对于我们默认(jdk1.7)使用parallel 垃圾回收器,old区就是使用的是parallel old, yong区使用的是parallel Scavenge

使用-XX:+UseParallelGC与 -XX:+UseParNewGC设置的区别在于:

---------------------------------------------------------------------------------------------------------------------------------------

-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。可以同时并行多个垃圾收集线程,但此时用户线程必须停止。

-XX:+UseParNewGC:设置年轻代为多线程收集。可与CMS收集同时使用。在serial基础上实现的多线程收集器。

-----------------------------------------------------------------------------------------------------------------

-XX:+UseParallelGC 
指 定在 New Generation 使用 parallel collector, 并行收集 , 暂停 app threads, 同时启动多个垃圾回收 thread, 不能和 CMS gc 一起使用 . 系统吨吐量优先 , 但是会有较长长时间的 app pause, 后台系统任务可以使用此 gc。UseParallelGC是jdk1.7选择parallel 回收器默认开启的。

-XX:+UseParNewGC 
指定在 New Generation 使用 parallel collector, 是 UseParallelGC 的 gc 的升级版本 , 有更好的性能或者优点 , 可以和 CMS gc 一起使用。UseParNewGC需要用户自己手动开启。

猜你喜欢

转载自blog.csdn.net/lxlmycsdnfree/article/details/81531363
xx