在配置G1GC时,我们有两种线程计数方式-XX:ParallelGCThreads和-XX:ConcGCThreads,它们之间的区别是什么,它们将如何影响系统性能,请提供任何参考文献。
G1算法有多个阶段,其中一些是“停止应用程序”的阶段,即在垃圾回收期间停止应用程序;同时,它也有可以与应用程序并发运行的阶段(如候选标记等)。因此:
ParallelGCThreads 选项影响应用程序线程停止时用于各个阶段的线程数,而 ConcGCThreads 标志影响用于并发阶段的线程数。
-XX:ParallelGCThreads: 设置在垃圾回收器并行阶段使用的线程数。默认值因JVM运行的平台而异。
-XX:ConcGCThreads: 并发垃圾回收器将使用的线程数。默认值因JVM运行的平台而异。