Why is webappclassloader not collecting garbage?

I have a web service developed by spring / hibernate, and when I deployed and deployed many times on Tomcat 7, I get a memory leak OutOfMemoryError PermGen.

Using java VisualVM, I noticed that the previous webappClassLoader is still stored in the JVM, so they are not going to garbage.

What could be the cause of this problem?

How can I determine which objects still reference the application class loader or any object loaded by it?

Thank,

+4
source share
1 answer

: . , , - , . , , Tomcat.

:

  • Tomcat
  • WebappClassLoader
  • , , start = false
  • GC WebappClassLoader
  • .

.

, : http://people.apache.org/~markt/presentations/2010-08-05-Memory-Leaks-JavaOne-60mins.pdf

+4

Source: https://habr.com/ru/post/1545046/


All Articles