TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.38K subscribers
Post #8642 564
Почему ref = null обычно не помогает сборщику мусора JVM

Локальная ссылка в стеке потока остаётся корнем GC, пока её фрейм активен. После выхода из метода сборщик её не обходит, поэтому ref = null перед возвратом обычно ничего не меняет.

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

Редкое исключение возникает, когда узлы LinkedList лежат в разных поколениях памяти: разрыв связи с обработанной частью иногда сокращает удержание. Но рост памяти требует искать ошибку жизненного цикла: растущую статическую коллекцию, кеш без вытеснения или слушатель без отписки. Разбор стека и достижимости помогает отличить утечку от лишнего присваивания.
More from @a_cup_of_java
  1. Sep 25, 2026HotSpot: как задачи JIT задерживают выгрузку ClassLoader JIT создаёт для горячего метода з…
  2. Sep 25, 2026Как ускорить агрегацию в Spring Batch с помощью DuckDB В Spring Batch агрегацию миллионов…
  3. Sep 25, 2026Как перевести сборку Gradle на Isolated Projects Isolated Projects параллельно конфигуриру…
  4. Sep 24, 2026Как перенести Spring Boot 3.5 на 4.1 и не пропустить тихие поломки Поддержка Spring Boot 3…
  5. Sep 24, 2026Value-классы в JDK 28: где JVM убирает аллокации, а где возвращает их JEP 401 вошёл в JDK…
  6. Sep 23, 2026Как показать вызовы инструментов в интерфейсе на Spring AI 2.0 Spring AI 2.0 вынес цикл вы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →