Tomcat 停止线程以避免潜在的内存泄漏

标签 tomcat netbeans

每次我开始调试我的 WebApp(Netbeans 7.0 + spring 3 + jsp)时,在 Tomcat 引发此异常后,调试器会在 ThreadPoolExecutor.java 中中断几次:

“停止线程 http-bio-8080-exec-3 以避免上下文停止后潜在的内存泄漏。”

screenshot showing ThreadPoolExecutor.java

我无法确定为什么会这样。是因为我的代码有问题吗?如果是这样,如何定位问题?如果这是“正常的”,那么我怎样才能避免 IDE 每次都用它来打扰我呢?

任何线索将不胜感激。

最佳答案

这看起来像是在 7.0.6 中修复的 Bug 49159 - Improve ThreadLocal memory leak clean-up 的一部分,但它是 Tomcat 7+ 中 MemoryLeakProtection 机制的一部分

此处 Is this very likely to create a memory leak in Tomcat? 发布了另一个答案,更详细地解释了这一点。

正如您在评论中提到的,您可以使用 Tools|Miscellaneous|Java|Java Debugger|General (Netbeans) 禁用 NetBeans 中的调试器,并取消选择 stop on未捕获的异常复选框。

关于Tomcat 停止线程以避免潜在的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747455/

相关文章:

java - 运行时忽略 While 循环?

java - 如何从命令行运行 NetBeans Java 项目?

java - Web 服务日志记录不输出,但没有失败

java - 在 java.library.path 上找不到基于 APR 的 Apache Tomcat native 库

tomcat双解码url

git - NetBeans 和 Git : shortcut for pushing to remote

java - 将静态文件夹添加到 Netbeans 中的 Tomcat

java - 作为服务在 Tomcat 上运行 Java 程序

java - 使用 Cron Job 将 .war 中的文件替换为另一个文件

netbeans - 在 NetBeans 解压缩 Sonatype 存储库的索引时,是否有办法使系统响应?