OutOfMemoryError:Java堆空间MultipartRequest

时间:2015-06-10 13:18:44

标签: java out-of-memory multipartform-data heap-memory

当我尝试上传文件时,我遇到了MultipartRequest的问题。 错误是:OutOfMemoryError:Java堆空间。 我认为这个错误是在cicle中,但我不知道什么是错的。 感谢。

这是我的代码:

InputStream is = part.getInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[16384];

while ((nRead = is.read(data, 0, data.length)) != -1) {
    buffer.write(data, 0, nRead);
}

buffer.flush();

byte[] out = buffer.toByteArray();
  

2015年6月10日15:39:45.146严重[http-nio-8080-exec-307]   org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks   Web应用程序[tw]使用类型的键创建了一个ThreadLocal   [com.sun.xml.ws.api.client.ServiceInterceptorFactory $ 1](值   [com.sun.xml.ws.api.client.ServiceInterceptorFactory$1@5901535e])和   值类型为[java.util.HashSet](value [[]])但无法删除   当Web应用程序停止时。线程将是   随着时间的推移重新尝试避免可能的内存泄漏。 10君2015   15:39:45.146严重[http-nio-8080-exec-307]   org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks   Web应用程序[tw]使用类型的键创建了一个ThreadLocal   [com.sun.xml.bind.v2.runtime.Coordinator $ 1](价值   [com.sun.xml.bind.v2.runtime.Coordinator$1@1e3025db])和一个值   输入[com.sun.xml.bind.v2.runtime.Coordinator []](值   [[Lcom.sun.xml.bind.v2.runtime.Coordinator; @ d9e64e7])但未能   Web应用程序停止时将其删除。线程即将发生   随着时间的推移更新,以尽量避免可能的内存泄漏。   2015年6月10日15:39:57.464信息[http-nio-8080-exec-307]   org.apache.catalina.core.StandardContext.reload重新加载上下文   姓名[/ tw]已完成NOME PART:1031.zip 10-Jun-2015 15:40:45.772   严重[http-nio-8080-exec-308] null.null抓住了扔掉   java.lang.OutOfMemoryError:Java堆空间

1 个答案:

答案 0 :(得分:0)

您需要增加堆空间。如果您正在使用eclipse,您可以检查this link,它将向您展示如何增加堆大小(堆内存是存储所有对象的“位置”)