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