Как найти memory leak в Java приложении?

Senior
335 просмотров
AFK Offer AI

Сначала подтвердить leak: heap растёт со временем не смотря на GC, OOM в логах. Затем: jmap -histo сравнить несколько снимков — какой класс растёт. Heap dump + MAT: Leak Suspects, Dominator Tree. Типичные причины: static коллекции накапливают объекты без cleanup, listeners/callbacks не отписываются, ThreadLocal не cleanable, connection pool leak (соединения не закрываются). Heapdump обязательно при OOM: -XX:+HeapDumpOnOutOfMemoryError.

Следующий вопрос

Напишите тест контроллера с MockMvc и Mockito