digital-garden/knowledge/dev/java/gc/Parallel GC.md

2.2 KiB
Raw Blame History

aliases tags date zero-link parents linked
зрелость/🌱
2023-11-06
../../../../garden/ru/meta/zero/00 Java разработка
../../../../garden/ru/dev/java/gc/Garbage Collector
Serial GC
Concurrent Mark Sweep

Работает по тем же принципам, что и сборщик мусора Scavenge, используя Generational Collection. Для молодого поколения используется Copy Collector, а для старого Mark and Compact.

Отличие Parallel коллектора от Serial заключается в том, что он использует подход Parallel Collection, то есть работает в несколько потоков во время StopTheWorld.

Зеленые линии это потоки приложения, красные это потоки GC.

Также у этого коллектора есть возможность автоматической подстройки под требуемые параметры производительности и меньшие паузы на время сборок.

Минусы:

Плюсы:

  • Малое потребление CPU на фоновую сборку мусора: 1%.
  • Параллельная сборка молодого и старого поколения.
  • Линейная аллокация объектов. Благодаря использованию Mark and Compact.

Где использовать:

  • Приложения для которых важна производительность.
  • Железо с несколькими ядрами.

Как включить:

  • -XX:+UseParallelGC
  • -XX:+UseParallelOldGC