我在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)你需要在已經指定的內容之上分配額外的內存。 –