当前位置: 首页 > 知识库问答 >
问题:

Threadpool中的Threadlocal内存泄漏

百里成仁
2023-03-14

我在Tomcat中得到了threadlocal内存泄漏错误,我正在使用ThreadPool,但在我的WebApp中没有threadlocal的实现。

严重:web应用程序[/mywebapp]创建了一个ThreadLocal,其键类型为[org.a pache.http.impl.cookie.dateformatholder$1](值为[org.apache.http.imp l.cookie.dateutils$dateformatholder$1@4c2849])和类型为[java.lang.re f.softreference](值为[java.lang.ref.softreference@1e67280])的ThreadLocal。为了避免可能的内存泄漏,线程将被更新。

我不明白的是,为什么我没有实现threadlocal错误,但却得到了它?我想删除这些消息,所以我搜索了web。在这里,为了清理threadlocal我需要使用:

ThreadLocal.remove()

但是我没有ThreadLocal的实现…如果有人给我指路,我将不胜感激。

共有1个答案

施俊哲
2023-03-14

显然,有些东西正在创建that/ThreadLocal实例。如果它不是您的代码,那么它一定是您正在使用的某个库,或者(不太可能)Tomcat本身。

首先,我将研究如何创建

    org.apache.http.impl.cookie.DateUtils$DateFormatHolder$1

(顺便说一句,这是datautils中嵌套类中的一个匿名类...所以,除非有什么奇怪的事情发生,否则创建将发生在dateutils.java文件中。)

如果检查源代码没有帮助,请尝试调试Tomcat实例并在ThreadLocal构造函数上设置断点。

 类似资料:
  • 当关闭Tomcat时,我得到以下错误: 严重:web应用程序[App]创建了一个ThreadLocal,其键类型为[org.apache.logging.log4j.core.layout.PatternLayout$1](值为[org.apache.logging.log4j.core.layout.PatternLayout$1@14391AAF]),值类型为[java.lang.String

  • 本文向大家介绍ThreadLocal 内存泄露问题?相关面试题,主要包含被问及ThreadLocal 内存泄露问题?时的应答技巧和注意事项,需要的朋友参考一下 ThreadLocalMapThreadLocalThreadLocalThreadLocalMapset()get()remove()ThreadLocalremove()`方法 弱引用介绍: 如果一个对象只具有弱引用,那就类似于可有可无

  • 我们已经设法摆脱了几乎所有的内存泄漏错误消息,但最后一个仍然被困住了。 2014年6月10日下午3:36:15 org.apache.catalina.loader.webappClassLoader checkThreadLocalMapForLeaks严重:web应用程序[/myapp]创建了一个ThreadLocal,其键类型为[com.sun.faces.application.appli

  • 严重:web应用程序[]创建了一个ThreadLocal,其键类型为[com.box.sdk.boxDateFormat$1](值为[com.box.sdk.boxDateFormat$1@275AB696])和值类型为[java.text.SimpleDateFormat](值为[java.text.SimpleDateFormat@faabb360]),但在web应用程序停止时未能删除它。线程

  • 我尝试用一个大表(大约一万条记录)中的记录填充JdbcRowSet。我尝试了两个变体(参见下面的代码): 创建连接对象,使用JdbcRowSetImpl(connection)实例化,在循环中执行查询。 使用JdbcRowSetImpl(DriverManager.GetConnection(“jdbc:....”)实例化,在循环中执行查询。 第一个变体会导致内存泄漏,直到堆满为止。第二个变体没有

  • 我有一个在Tomcat7上运行的web应用程序的问题。 当我尝试重新启动web应用程序时,我在servlet内部创建的线程打开的端口仍然是打开的。 “http-bio-8080-acceptor-0”后台进程prio=10 tid=0x00007F4ED4206000 nid=0x71f0 runnable[0x00007F4ECC78F000]java.lang.thread.state:run