Sobes.tech
Junior — Middle

Kuidas otsustab prügikorjamise mehhanism, millised objektid tuleb mälust eemaldada?

sobes.tech AI

Vastus AI-lt

Сборщик мусора в Java определяет, какие объекты подлежат удалению, исходя из достижимости объектов в памяти. Если объект недостижим из корневых ссылок (например, из стека, статических переменных или регистров), он считается мусором и может быть удалён.

Основные механизмы:

  • Reachability Analysis: JVM отслеживает, какие объекты достижимы через цепочку ссылок от корней.
  • Generational Garbage Collection: объекты делятся на поколения (молодое, старое), что оптимизирует сборку.
  • Mark-and-Sweep: сначала отмечаются достижимые объекты, затем неотмеченные удаляются.

Таким образом, сборщик мусора автоматически освобождает память, удаляя объекты, на которые нет ссылок, предотвращая утечки памяти.