关闭Tomcat8,自定义线程报内存溢出

Tomcat线程池内存泄漏
在使用ThreadPoolExecutor线程池的Java应用中,当手动结束Tomcat时,出现了线程未能停止导致的内存泄漏问题。该问题发生在Thread.sleep(1000)代码行,尝试通过在contextDestroyed方法中加入System.exit(0)来直接结束JVM,但寻求更优解决方案。

开发环境

jdk8、tomcat8、IDEA

使用了ThreadPoolExecutor线程池,创建了几条线程,在我手动结束tomcat的时候,出现一下异常

04-Mar-2019 16:43:15.036 警告 [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [test] appears to have started a thread named [Thread-48] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

报错的代码行是Thread.sleep(1000),我将线程睡了一会,为了是让其他线程可以拿到cpu的资源

目前采用的是在tomcat加监听器,在contextDestroyed方法里面加入了System.exit(0)直接结束掉jvm,不知道大佬们有没有遇到这样的问题,希望在评论区留下自己的解决办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值