Junior
23
0
questionbank

Что такое сборка мусора в Java?

Ответ от нейросети sobes.tech

Автоматический процесс управления памятью, который удаляет неиспользуемые объекты из кучи (heap), освобождая занимаемое ими пространство. Garbage Collector (GC) определяет, какие объекты доступны (referenceable) из работающих частей программы, а какие — нет (unreachable), и удаляет последние.

Основные этапы:

  1. Marking (Пометка): GC определяет, какие объекты живы ( reachable) начиная с корней (например, локальные переменные активных потоков, статические переменные).
  2. Sweeping (Очистка): GC проходит по куче и удаляет все объекты, не помеченные как живые.
  3. Compacting (Компактизация, необязательно): Перемещает живые объекты, чтобы уменьшить фрагментацию памяти.

Достоинства:

  • Упрощает разработку, избавляя от ручного управления памятью.
  • Снижает риск утечек памяти (memory leaks) и ошибок доступа к освобожденной памяти (dangling pointers).

Недостатки:

  • Могут возникать паузы в работе приложения (Stop-the-World events) во время сборки мусора.
  • GC требует вычислительных ресурсов.

Различные алгоритмы сборки мусора (Serial GC, Parallel GC, CMS, G1, ZGC, Shenandoah) о

Автоматический процесс управления памятью, который удаляет неиспользуемые объекты из кучи (heap), освобождая занимаемое ими пространство. Garbage Collector (GC) определяет, какие объекты доступны (referenceable) из работающих частей программы, а какие — нет (unreachable), и удаляет последние.

Основные этапы:

  1. Marking (Пометка): GC определяет, какие объекты живы ( reachable) начиная с корней (например, локальные переменные активных потоков, статические переменные).
  2. Sweeping (Очистка): GC проходит по куче и удаляет все объекты, не помеченные как живые.
  3. Compacting (Компактизация, необязательно): Перемещает живые объекты, чтобы уменьшить фрагментацию памяти.

Достоинства:

  • Упрощает разработку, избавляя от ручного управления памятью.
  • Снижает риск утечек памяти (memory leaks) и ошибок доступа к освобожденной памяти (dangling pointers).

Недостатки:

  • Могут возникать паузы в работе приложения (Stop-the-World events) во время сборки мусора.
  • GC требует вычислительных ресурсов.

Различные алгоритмы сборки мусора (Serial GC, Parallel GC, CMS, G1, ZGC, Shenandoah) о

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

garbage-collectionmemory-managementjvm