The "OutOfMemoryError: PermGen space" exception is normally encountered in development process where a long-running JVM is asked to reload builds.
The message is a side effect of an incomplete garbage collection sweep where resources are not properly released upon reload. There is no shortage of debate (Hibernate forum, Sun forum, Spring Framework forum ) regarding which codebase is responsible for this symptom, but the finger of blame has been pointed at CGLIB, Hibernate, Tomcat, and even Sun's JVM.
In general, this is an interoperability issue and can be resolved by changing one of the devel components. Some users have reported success by upgrading to the latest Tomcat 6.0.X release, others have simply switched for another webcontainer implementation (like JBoss, Jetty or Resin).
I prefere the way of resolving this issue to switch from Sun's JDK to ORACLE's one - JRockit implementation.
The message is a side effect of an incomplete garbage collection sweep where resources are not properly released upon reload. There is no shortage of debate (Hibernate forum, Sun forum, Spring Framework forum ) regarding which codebase is responsible for this symptom, but the finger of blame has been pointed at CGLIB, Hibernate, Tomcat, and even Sun's JVM.
In general, this is an interoperability issue and can be resolved by changing one of the devel components. Some users have reported success by upgrading to the latest Tomcat 6.0.X release, others have simply switched for another webcontainer implementation (like JBoss, Jetty or Resin).
I prefere the way of resolving this issue to switch from Sun's JDK to ORACLE's one - JRockit implementation.