我在代码的以下行收到OOM错误。有办法解决吗?我试图增加堆大小以至无用。
FileInputStream inputDoc = new FileInputStream(inputDoc1);
byte[] bytes = IOUtils.toByteArray(inputDoc);
upl.edmsDocument = bytes;
更新:添加了以下参数
-Xms2048m -Xmx2048m -Xincgc
,然后Im可以连续上传几个大文件,但是性能不一致。 最佳答案
如果知道输入的大小,则应使用toByteArray(inputDoc1, inputDoc1Size)
而不是toByteArray(inputDoc1)
。请注意,无论如何,您都会受到Integer.MAX_VALUE条目的限制,如API documentation.中所述