增加内存以避免OutOfMemory错误



我正在使用Apache POI获得OutOfMemoryError。我提取超过400,000条记录从数据库到一个excel表。目前我的eclipse.ini文件看起来像:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20130521-0416
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

我知道我必须增加我的内存,但我不确定我应该改变多少。我也应该在其他地方改变它吗?我敢肯定有关于这个链接,所以如果有人能指导我,那将是伟大的。提前感谢,桑尼

Excel有最大行数。对于XLS,限制是65536行,对于XLSX,限制是1048576行。因此,正如建议的那样,您可以使用SXSSF或将其写入csv。至于更改堆大小,有几种方法可以做到这一点。

  1. 将eclipse.ini中的-Xmx512m更改为-Xmx1024m (1GB)或任何你想要的。
  2. 在Eclipse中进入运行配置>>参数,在VM参数下放入-Xmx1024m
  3. 如果你有一个带有产品的插件项目,你可以转到产品,选择启动选项卡,在VM参数下:输入-Xmx1024m

相关内容

最新更新