Поскольку документ, на который вы ссылались, был предназначен для виртуальной машины 1.4.2, я предполагаю, что вы используете ее (JVM 5 и 6 ведут себя по-разному).
С http://java.sun.com/docs/hotspot/gc1.4.2/
если -XX: + UseConcMarkSweepGC используется на
командная строка затем флаг
UseParNewGC также имеет значение true, если оно
в противном случае явно не установлен на
командная строка
Таким образом, ответ заключается в том, что вам нужно только использовать -XX: + UseConcMarkSweepGC, и он включит параллельный коллектор с параллельным сборщиком молодого поколения.
Редактировать: для Java 6 тот же флаг (-XX: + UseConcMarkSweepGC) включает одновременный коллектор. Выбор нужного вам коллектора зависит от нескольких вещей, и вам следует протестировать различные конфигурации. Но есть некоторые очень общие рекомендации. Если у вас однопроцессорный однопроцессорный компьютер, вам следует использовать последовательный коллектор (по умолчанию для некоторых конфигураций можно явно включить для -XX: + UseSerialGC). Для многопроцессорных машин, где ваша рабочая нагрузка в основном связана с процессором, используйте параллельный коллектор. Это включено по умолчанию, если вы используете флаг -server, или вы можете включить его явно с -XX: + UseParallelGC. Если вы предпочитаете сокращать паузы GC за счет использования большего общего времени ЦП для GC, и у вас более одного ЦП, вы можете использовать параллельный коллектор (-XX: + UseConcMarkSweepGC). Обратите внимание, что параллельный сборщик имеет тенденцию требовать больше оперативной памяти, выделенной для JVM, чем последовательный или параллельный сборщики для данной рабочей нагрузки, поскольку может произойти некоторая фрагментация памяти.