Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gregorianalendar上的内存泄漏_Java_Jsp_Tomcat - Fatal编程技术网

Java Gregorianalendar上的内存泄漏

Java Gregorianalendar上的内存泄漏,java,jsp,tomcat,Java,Jsp,Tomcat,出现此错误,JSP页面变为空白(白色): 2013年1月9日晚上7:30:39 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap严重:web应用程序[/MyWebApp]创建了一个 具有[net.sourceforge.jtds.jdbc.DateTime$1]类型键的ThreadLocal (值[net.sourceforge.jtds.jdbc.DateTime$1@48a47])值为 类型[java.util.

出现此错误,JSP页面变为空白(白色):

2013年1月9日晚上7:30:39 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap严重:web应用程序[/MyWebApp]创建了一个 具有[net.sourceforge.jtds.jdbc.DateTime$1]类型键的ThreadLocal (值[net.sourceforge.jtds.jdbc.DateTime$1@48a47])值为 类型[java.util.GregorianCalendar](值 [java.util.GregorianCalendar[time=1357531128420,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“澳大利亚/悉尼”,偏移量=36000000,DSTSCAVES=3600000,useDaylight=true,转换=142,lastRule=java.util.SimpleTimeZone[id=Australia/Sydney,offset=36000000,DStSaves=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=1,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=7200000,startTimeMode=1,endMode=3,endMonth=1,endDayOfWeek=1]],周的第一天=1,周的第一天=1,纪元=1,年=2013,月=0,年的第周=2,月的第周=2,月的第日=7,年的第日=7,周的第日=2,周的第日=1,上午下午=1,小时=2,天的第小时=14,分钟=58,秒=48,毫秒=420,分区偏移=36000000,DST偏移=3600000]) 但在web应用程序停止时无法删除它。这是 很可能造成内存泄漏

建议的解决办法是:

  • 每次需要日历时使用新实例,或

  • 检查
    ResultSet.close中的某个钩子是否足以调用
    ThreadLocal.remove()


但是,在本例中,我们需要重现错误,因此可以测试修复,而无需无限期地等待错误再次发生。

给定的消息不是问题的原因


Tomcat只是通知可能存在内存泄漏(这一定不是真的)。每次关机时都会发生此错误(请尝试).

除了@Uwe Plonus给出的答案之外,我可以说,这种情况发生在应用程序停止时。因此,除非在不重新启动tomcat的情况下多次停止并启动应用程序,否则这就没什么意思了。如果在tomcat关闭应用程序时发生这种情况,那么内存泄漏与此无关:tomcat itselF将在一瞬间死去。

厄姆……那么你的问题是什么?……但是我得到的空白JSP页面的原因是什么?在Tomcat重新加载后,空白的JSP页面不再是空白的并且正确显示了吗?@ XYBLek空页是DSBADE,因为Web应用程序不再运行。问题是,为什么它不再运行?当没有人停止的时候。Tomcat服务?@ XYBLYK这是一个没有人能回答的问题。对,我的意思是:你是说我们遇到的空白页面不是由内存泄漏/日历静态访问引起的?你说“死掉”是什么意思?为什么我们要得到空白页面,然后在Tomcat重新加载之后就可以了……