ClassLoader
утечки обычно приводят к java.lang.OutOfMemoryError: PermGen. В случае работы на серверах приложений вы можете увидеть это в результате много перераспределения общего приложения. Объяснение и возможные решения этой проблемы можно увидеть по этим двум ссылкам. (среди прочих)
http://dev.eclipse.org/blogs/memoryanalyzer/2008/05/17/the-unknown-generation-perm/ http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java
Теперь по большей части их легко обойти. Просто увеличьте -XX: MaxPermSize, и когда это произойдет, перезапустите JVM полностью. Проблема с попыткой решить эту проблему заключается в том, что в больших приложениях многие классы могут вызвать утечку класса загрузчика и, следовательно, классы оставаться в пределах permgen.
Из этого вытекают два вопроса:
Можно ли сказать, что проблема, подобная этой, лучше всего увеличить размер максимального размера и перезапустить там, где это необходимо, или найти решение более высокого приоритета?
Существуют ли более простые способы устранения утечки загрузчика класса?