因为你链接的文档是一个1.4.2虚拟机,这是我假设你使用(JVMs 5和6行为不同)。
if -XX:+UseConcMarkSweepGC is used on
the command line then the flag
UseParNewGC is also set to true if it
is not otherwise explicitly set on the
command line
所以答案是你只需要使用-XX:UseConcMarkSweepGC,它将启用具有并行年轻代收集器的并发收集器。
编辑:对于Java 6,相同的标志(-XX:UseConcMarkSweepGC)启用并发收集器。你想要的收集器的选择取决于几件事情,你应该测试不同的配置。但有一些非常一般的指导方针。如果你有一个单处理器,单线程机器那么你应该使用串行收集器(默认为一些配置,可以显式启用与-XX:UseSerialGC)。对于您的工作负载基本上受CPU限制的多处理器计算机,请使用并行收集器。如果使用-server标志,则默认情况下启用它,或者您可以使用-XX:UseParallelGC显式启用它。如果您希望GC使用更多的总CPU时间,并且您拥有多个CPU,那么可以使用并发收集器(-XX:UseConcMarkSweepGC)使GC暂停时间更短。请注意,并发收集器往往需要比给定工作负载的串行或并行收集器分配给JVM更多的RAM,因为可能会发生一些内存碎片。