我想知道 JVM 是否正常卸载类以减少 PermGen 空间。所以这是我的问题:
- Java 类是否会默认从 JVM 中卸载?
- 关闭 Jar 类加载器是否会卸载该 jar 中所有已加载的类?
- 应该使用什么命令/方式来允许卸载类?
仅供引用,我确实尝试了网络上的一些解决方案,但没有一个能回答我的问题。 (例如:What does JVM flag CMSClassUnloadingEnabled actually do?)
PS:我指的是Java 6 + hibernate(类加载由hibernate处理)
最佳答案
摆脱已加载类的唯一方法是允许 JVM 通过消除对此类加载器的所有引用来对加载这些类的类加载器进行 GC。这就是我们取消部署 Web 应用程序时 Web 服务器中发生的情况。
关于java - PermGen 空间是否减少了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652280/