这是我一直以来的一个老问题.我想在开发环境中重新部署.在一些部署之后,我用完permgen并且必须杀死服务器.多年前我试图找到问题的解决方案,但刚刚发现Spring和Hibernate互相指责问题.有没有找到解决方案?
Spring Roo声称它不会在运行时生成类,因此它不会成为问题.它真的有效,如果确实如此,我该如何配置我的应用程序呢?
我知道这里有两个问题,但如果你能回答一个问题就够了:)
据我了解,典型的PermGen存储泄漏就是这样的.
在某处,对某个对象的可访问引用,该对象的类已被热部署替换.
该对象具有对其类描述符的引用.
类描述符具有对其ClassLoader的引用.
ClassLoader引用了已加载的所有类的类描述符.
每个类描述符都引用了类静态帧,其字节码,本机代码等.
只有一个对象的引用足以导致permgen泄漏.如果可能是一个枚举值,一个尚未注册的监听器,......
编辑
遇到这个问题的人采取的正常方法是耸肩,增加PermGen堆大小.如果您确实需要解决Web应用程序的问题,那么:
我不知道Hibernate是否存在特定问题,但任何复杂的框架都可能会受到这类问题的影响,无论是单独使用还是与应用程序代码结合使用.
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |