Stucts应用引起的OutOfMemoryError
2015-12-16 20:13
288 查看
每次deploy Struct应用都会带来内存泄露的问题,原因很简单,但解决方案却一直没找到。
问题的原因,部的Struct应用一访问,就会向ThreadLocal加入一些Context信息。而Context相
关类都有WebappClassloader加载。undeploy应用之后,Context相关类因为ThreadLocal的引用
而无法unload,导致WebappClassloader无法unload,最终导致由WebappClassloader加载的所有类
都无法unload,java.lang.OutOfMemoryError: PermGen space出现。
看这个图就比较清楚了:
多几次deploy/undeploy就会出现,有经验的同学请帮出出招。
问题的原因,部的Struct应用一访问,就会向ThreadLocal加入一些Context信息。而Context相
关类都有WebappClassloader加载。undeploy应用之后,Context相关类因为ThreadLocal的引用
而无法unload,导致WebappClassloader无法unload,最终导致由WebappClassloader加载的所有类
都无法unload,java.lang.OutOfMemoryError: PermGen space出现。
看这个图就比较清楚了:
多几次deploy/undeploy就会出现,有经验的同学请帮出出招。
相关文章推荐
- 解决Java中OutOfMemoryError的问题
- SoftReference
- OutOfMemoryError
- 08月28日学习杂记(复习:ANT,集合及零散知识点)
- "JAVA内存泄漏"一个永恒的主题
- java内存泄漏
- 处理java.lang.OutOFMemoryError
- 黑马程序员-java学习日志2
- eclipse下运行Java程序出现OutOfMemoryErro的解决
- PermGen space
- 面试中该怎样回答Android性能优化的问题
- 关于SSH部署到tomcat时OutOfMemoryError 的解决办法
- tomcat 内存不足问题
- 继续讨论Exception的处理
- 深入理解JVM -- 内存模型及内存溢出(OOM/Out of Memory)
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- 从OleContainer学到的东西
- JAVA垃圾回收机制与内存泄露问题
- Java异常处理机制