1

使用 JOpenDoc API 处理 ODS 表时,获取 Java 堆空间的 OutOfMemoryError。处理表包含 6000 条记录。根据 JProfiler,如果记录更多,则消耗的内存空间会更多。如何在不使用 -X 参数增加 JVM 大小的情况下消除此错误。这是我的导致内存不足的java代码。

SpreadSheet spreadSheet=SpreadSheet.createFromFile(new File("document.ods")); //memory-35 MB
Sheet sheet1=spreadSheet.getSheet(1); // consumed memory - 47 MB
Sheet sheet2=spreadSheet.getSheet(2); // consumed memory - 59 MB
Sheet sheet3=spreadSheet.getSheet(3); // outofmemory error since the default size is 64 MB
4

1 回答 1

2

您需要使用 -Xmx 增加内存或减少内存使用量。例如,您是否需要一次加载所有 3 张纸?如果没有,释放对它的引用(例如 sheet1 = null),垃圾收集器会处理它。

于 2012-02-29T03:07:10.893 回答