增加内存以避免OutOfMemory错误

我正在使用Apache POI获取OutOfMemoryError。 我从数据库中提取超过40万条logging到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 

我知道我必须增加自己的记忆力,但我不确定我应该改变多less。 我也应该在其他地方改变它吗? 我敢肯定有这方面的链接,所以如果有人能指导我,这将是伟大的。 在此先感谢,桑尼

Excel有最大的行数。 对于XLS ,限制为65536行,对于XLSX ,限制为1048576行。 所以build议你可以使用SXSSF或将其写出到csv。 至于改变堆的大小有几个方法来做到这一点。

  1. 将eclipse.ini中的-Xmx512m更改为-Xmx1024m(1GB)或任何你想要的。
  2. 在Eclipse中转到运行configuration>> Aruguments和VM参数下放-Xmx1024m
  3. 如果您有产品的插件项目,则可以转至产品,select“启动”选项卡,然后在VM参数下:put -Xmx1024m