问题描述
ThewebapplicationcreatedaThreadLocalwithkeyoftype[null](value[com.opensymphony.xwork2.inject.ContainerImpl$10@1807b9a])andavalueoftype[java.lang.Object[]](value[[Ljava.lang.Object;@32d6e7])butfailedtoremoveitwhenthewebapplicationwasstopped.Thisisverylikelytocreateamemoryleak.请问这个到底是什么错误?我网上找了也很少关于这个错误的信息而且我看了我的struts配置也没有错啊没找到什么错误这个错误我真不太明白高手帮我解答一下区区40分送上
解决方案
解决方案二:
没见过
解决方案三:
你看看是不是struts的问题
解决方案四:
把可疑的进程关掉重新试试
解决方案五:
是不是程序中有自定义的ThreadLocal类,尝试先去掉看看还会不会发生类似的判断清楚了再考虑如何更改
解决方案六:
可能是架包的问题
解决方案七:
自定义ThreadLocal类内存泄漏问题在Tomcat版本>=6.0.24被发现,>=7.0.6之后被修复了
解决方案八:
”Thisisverylikelytocreateamemoryleak.“看起来是出现了内存泄露,查看下有没有自定义的ThreadLocal类
解决方案九:
Threadlocal类上哪里查看了?我初学struts,很多问题都不懂,这个错误我查了很久了都不行
解决方案十:
不知道是由于什么原因造成的内存泄露
解决方案十一:
你看一下java的垃圾回收机制javaGC,应该是这方面的问题
解决方案十二:
继续来大哥帮忙解答啊小弟接着关注,有好的答案马上结贴
解决方案十三:
如果你用win/tomcat/bin/catalina.bat加上下面的命令:setJAVA_OPTS=-Xms32m-Xmx256m如果你用unix/linux/tomcat/bin/catalina.sh加上下面的命令:JAVA_OPTS="-Xms32m-Xmx256m"
解决方案十四:
引用12楼tianxyz1988的回复:
你试试这个命令行不?我没试过,这个问题好像碰到过一次,具体怎么搞好的忘了。你自己要敢于试试,解决不了再还原过来。一个是优化程序代码,如果业务庞大,逻辑复杂,尽量减少全局变量的引用,让程序使用完变量的时候释放该引用能够让垃圾回收器回收,释放资源。二就是物理解决,增大物理内存,然后通过命令:如果你用win/tomcat/bin/catalina.bat加上下面的命令:set……
如果还不行,把下面的值改大点看看setJAVA_OPTS=-Xms32m-Xmx256m这个值改大一点:setJAVA_OPTS=-Xms128m-Xmx512m试试
解决方案十五:
如果处理数据量比较大,可能导致内存泄露
解决方案:请问如何打开catalina。bat?我打开后它马上消失了
解决方案:可能会出现内存泄露,建议你处理下异常试试