TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #1027 7.2K
😭 Самый простой способ устроить утечку памяти в Java

Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока.

Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space.

Самые частые ловушки и фиксы:
🔳static List/Map: добавили и не удалили - объекты остаются в памяти до выгрузки класса. Нужны remove/очистка, лимиты, иногда WeakHashMap.
🔳non-static inner/anonymous class: неявно держит ссылку на внешний объект, особенно если внутри бесконечный Thread.
🔳listener/callback: подписались и не отписались - источник событий удерживает объект (UI, event bus).
🔳ThreadLocal в пуле потоков: set() без remove().
🔳кэш на HashMap без maxSize/TTL: используйте политики вытеснения (Guava Cache, Caffeine)

В целом вывод такой, что нужно смотреть график heap в Grafana, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.

📎 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/1022018/
  • 👍 36
  • ❤ 10
  • 🔥 6
  • ⚡ 1
More from @spring_aio
  1. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
  2. Oct 2, 2026🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый отве…
  3. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  4. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
  5. Sep 29, 2026⚡️ AI-плагин уже в OpenIDE Pro Вышли новые версии OpenIDE и OpenIDE Pro: AI-плагин теперь…
  6. Sep 28, 2026🧑‍💻 Скрытая возможность конфигурации Spring Boot, о которой мало говорят Представим, что…
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 →