Sobes.tech
Back to questions
Senior
16

Какие виды сборщиков мусора есть в Java?

Companies where asked
СБК ПАРУС

Answer from AI

sobes.tech AI

В Java существует несколько видов сборщиков мусора (Garbage Collectors), каждый из которых оптимизирован под разные сценарии и требования к производительности:

  1. Serial GC — однопоточный сборщик, подходит для небольших приложений с ограниченными ресурсами.
  2. Parallel GC (Throughput Collector) — многопоточный сборщик, ориентирован на максимальную пропускную способность, подходит для серверных приложений.
  3. CMS (Concurrent Mark-Sweep) — ориентирован на минимизацию пауз, выполняет большую часть работы параллельно с приложением.
  4. G1 (Garbage First) — современный сборщик, который делит кучу на регионы и старается минимизировать паузы, хорошо подходит для больших куч.
  5. ZGC (Z Garbage Collector) — низколатентный сборщик, работает параллельно и масштабируется на большие объемы памяти.
  6. Shenandoah GC — похож на ZGC, ориентирован на минимальные паузы и параллельную работу.

Выбор сборщика зависит от требований к задержкам, пропускной способности и размера кучи. Например, для приложений с критичными задержками лучше использовать ZGC или Shenandoah, а для максимальной пропускной способности — Parallel GC.