Sobes.tech
Назад к вопросам
Junior — Middle
66

Можешь перечислить и объяснить основные типы сборщиков мусора, используемые в Java?

Компании, где спрашивали
Hftlabs

Ответ от нейросети

sobes.tech AI

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

  1. Serial Garbage Collector — однопоточный сборщик, подходит для небольших приложений с ограниченными ресурсами.

  2. Parallel Garbage Collector (Throughput Collector) — многопоточный сборщик, оптимизированный для максимальной пропускной способности, подходит для многопроцессорных систем.

  3. CMS (Concurrent Mark-Sweep) Collector — ориентирован на минимизацию пауз сборки, работает параллельно с приложением, подходит для приложений с низкой задержкой.

  4. G1 (Garbage-First) Collector — современный сборщик, который разбивает кучу на регионы и старается собирать сначала регионы с наибольшим количеством мусора, балансируя между пропускной способностью и задержками.

  5. ZGC (Z Garbage Collector) — низколатентный сборщик, работающий с большими кучами, минимизирует паузы до миллисекунд.

  6. Shenandoah GC — похож на ZGC, также ориентирован на низкие задержки.

Каждый сборщик имеет свои особенности и выбирается в зависимости от требований приложения по производительности и задержкам.

Пример запуска JVM с G1 GC:

java -XX:+UseG1GC -jar myapp.jar