Похоже, что у вашего приложения есть утечка памяти.Чтобы начать отладку, вы можете использовать jmap
, утилиту, поставляемую с JDK (обычно находится в каталоге bin рядом с java, javac, javadoc и т. Д.).Эта команда создаст карту памяти всех объектов, находящихся в вашей JVM.Вы можете запустить его с течением времени, когда ваше приложение работает, и сравнить количество объектов, чтобы увидеть, существует ли какой-либо тип объекта, который, по-видимому, имеет непрерывно увеличивающееся общее количество, но не сокращается (в результате сборок мусора).
jmap -heap -histo <PROCESS_ID_OF_YOUR JVM>
Если вы действительно не закрываете свои объекты операторов должным образом, вы быстро увидите, как они всплывают до верха вашего стека.
Все «закрываемые» объекты должны быть закрыты в блоках finally, чтобы избежать выходаоткрытые соединения, операторы и т. д., задерживающиеся в JVM, если перед закрытием выдается исключение.
примечание: в окнах эти исполняемые файлы имеют суффикс .exe.