Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: garbage, collector

Какие Garbage Collector’ы ты знаешь?

Вопрос проверяет знание основных реализаций GC в JVM и понимание их различий и области применения.

Короткий ответ

В JVM существует несколько реализаций сборщиков мусора.
Они отличаются по задержкам, пропускной способности и сложности.
Выбор GC зависит от типа нагрузки и требований к паузам.
Нет универсального сборщика для всех случаев.

Длинный ответ

JVM предоставляет несколько сборщиков мусора, каждый из которых оптимизирован под свои сценарии.

Основные сборщики мусора

  1. Serial GC

    • Работает в одном потоке

    • Прост и предсказуем

    • Подходит для небольших приложений

  2. Parallel GC

    • Использует несколько потоков

    • Ориентирован на пропускную способность

    • Часто используется по умолчанию в старых версиях JVM

  3. CMS (Concurrent Mark Sweep)

    • Минимизирует паузы

    • Работает параллельно с приложением

    • Устарел и удален в новых версиях JVM

  4. G1 GC

    • Делит heap на регионы

    • Предсказуемые паузы

    • Часто используется по умолчанию в современных JVM

  5. ZGC

    • Почти без пауз

    • Подходит для больших heap

    • Использует colored pointers

Как выбирают GC

При выборе учитывают:

  1. Размер heap

  2. Допустимые паузы

  3. Тип нагрузки

  4. Версию JVM

Краткий вывод

Выбор GC — это компромисс между паузами и пропускной способностью.
Правильный сборщик подбирается под конкретный сценарий.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Java

    Java

Ключевые слова

#garbage

#collector

Подпишись на Java Developer в телеграм