我在JDK 1.5环境中使用apache POI 3.7,在JVM参数中使用-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=1000M
。在创建XSSFWorkbook时阻止Apache POI
我写的代码读取这样的XLSX文件,
File file = new File("C:\\D\\Data Book.xlsx");
InputStream inputStream = new FileInputStream(file);
OPCPackage opcPackage = OPCPackage.open(inputStream);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
在它进入空闲状态的第四行。如果我删除JVM参数,它会抛出OutOfMemoryError
。我的文件大小是6MB。
你怎么知道它是处于空闲状态?它能不能继续处理? –
感谢您的回复,是的,它没有继续。有时它会抛出OutOfMemoryError。 –
这表明a)它不是空闲的,b)你需要在已经指定的内容之上分配额外的内存。 –