Back to questions
Senior
16
Какие виды сборщиков мусора есть в Java?
Companies where asked
СБК ПАРУС
Answer from AI
sobes.tech AI
В Java существует несколько видов сборщиков мусора (Garbage Collectors), каждый из которых оптимизирован под разные сценарии и требования к производительности:
- Serial GC — однопоточный сборщик, подходит для небольших приложений с ограниченными ресурсами.
- Parallel GC (Throughput Collector) — многопоточный сборщик, ориентирован на максимальную пропускную способность, подходит для серверных приложений.
- CMS (Concurrent Mark-Sweep) — ориентирован на минимизацию пауз, выполняет большую часть работы параллельно с приложением.
- G1 (Garbage First) — современный сборщик, который делит кучу на регионы и старается минимизировать паузы, хорошо подходит для больших куч.
- ZGC (Z Garbage Collector) — низколатентный сборщик, работает параллельно и масштабируется на большие объемы памяти.
- Shenandoah GC — похож на ZGC, ориентирован на минимальные паузы и параллельную работу.
Выбор сборщика зависит от требований к задержкам, пропускной способности и размера кучи. Например, для приложений с критичными задержками лучше использовать ZGC или Shenandoah, а для максимальной пропускной способности — Parallel GC.