Як діагностувати витік памʼяті в довгоживучому JVM-сервісі?
Спершу переконатися, що це витік: дивитися heap після повної збірки протягом годин, бо пилка, яка повертається до базової лінії, витоком не є. Потім зняти heap dump і відкрити в MAT — він покаже дерево домінаторів, тобто обʼєкти з найбільшою утримуваною памʼяттю і того, хто на них посилається. Звичайні відповіді: необмежений кеш, ThreadLocal, не очищений на пуловому потоці, або слухачі, які реєструються і ніколи не відписуються.