我的应用程序出现OutOfMemory异常。我已经进行了堆转储并通过 MAT 进行了分析。在分析我的应用程序内存使用情况时,我发现了以下嫌疑人。我无法理解这些嫌疑人背后的主要原因。
请帮助我了解这种泄漏嫌疑人以及与之相关的解决方案。
嫌疑人1
线程 org.apache.tomcat.util.threads.TaskThread @ 0x2bdf5ff8 "ajp-bio-9002"-exec-5 保留总大小为 113,973,288 (50.72%) 字节的局部变量。
内存在“org.apache.catalina.loader.StandardClassLoader @ 0x293b4488”加载的“org.apache.tomcat.util.threads.TaskThread”的一个实例中累积。
线程堆栈
“ajp-bio-9002”-exec-5 at java.util.Arrays.copyOf([CI)[C (Arrays.java:2882) at java.lang.AbstractStringBuilder.expandCapacity(I)V (AbstractStringBuilder.java:100 ) 在 java.lang.AbstractStringBuilder.append(C)Ljava/lang/AbstractStringBuilder;(AbstractStringBuilder.java:572) 在 java.lang.StringBuffer.append(C)Ljava/lang/StringBuffer;(StringBuffer.java:320) 在 org.apache.myfaces.renderkit.html.util.ReducedHTMLParser.consumeString(C)Ljava/lang/String; (ReducedHTMLParser.java:303) 在 org.apache.myfaces.renderkit.html.util.ReducedHTMLParser.consumeAttrValue()Ljava/lang/String; (ReducedHTMLParser.java:327) 在 org.apache.myfaces.renderkit.html.util.ReducedHTMLParser.parse()V (ReducedHTMLParser.java:579) 在 org.apache.myfaces.renderkit.html.util.ReducedHTMLParser.parse( Ljava/lang/CharSequence; )Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AjpProcessor.java:301) 在 org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache /tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AjpProtocol.java:183) 在 org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState ; (AjpProtocol.java:169) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run()V (JIoEndpoint.java:302) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Ljava/lang/ Runnable;)V (ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run()V (ThreadPoolExecutor.java:908) 在 java.lang.Thread。
嫌疑人2
“”加载的一个“java.lang.StringBuffer”实例占用了59,216,088(26.35%)字节。该实例由 org.apache.myfaces.renderkit.html.util.ReducedHTMLParser @ 0x276990e8 引用,由“org.apache.catalina.loader.WebappClassLoader @ 0x29592038”加载。内存在“”加载的“char[]”的一个实例中累积。