❓ Что происходит с объектом, когда на него не осталось ссылок?
Объект становится кандидатом на сборку мусора, но память освобождается не сразу.
GC ориентируется на достижимость от GC roots (стек потоков, статические поля, JNI-ссылки, активные локальные переменные). Пока объект достижим хотя бы по одной цепочке — он живой. Как только он перестаёт быть достижимым, он помечается недостижимым и память освобождается при ближайшем цикле сборки.
Если у объекта есть finalize() или он зарегистрирован в Cleaner/PhantomReference, освобождение откладывается на дополнительный цикл.
🐸 Библиотека собеса по Java
#core
Post #1355
1.13K
- 👍 6
- ❤ 1
- 🔥 1