JAVAlang.OutOfMemoryError:使用Apache POI读取excel时的Java堆空间
我的文件是9MB,加载工作簿时出错
XSSFWorkbook workbook = new XSSFWorkbook(excelFilePath);
这一行导致java.lang.OutOfMemoryError: Java heap space
我该怎么解决这个问题
你可以在下面搜索框中键入要查询的问题!
我的文件是9MB,加载工作簿时出错
XSSFWorkbook workbook = new XSSFWorkbook(excelFilePath);
这一行导致java.lang.OutOfMemoryError: Java heap space
我该怎么解决这个问题
# 1 楼答案
我认为32位JVM的最大内存为2GB。不过这可能已经过时了。如果我理解正确,您可以在Eclipse启动器上设置-Xmx。如果您想增加从Eclipse运行的程序的内存,应该在“run->;run configurations…”中定义-Xmx(选择您的类并打开Arguments选项卡,将其放入VM Arguments区域)菜单,而不是在Eclipse启动时
编辑:您要求的详细信息。在Eclipse 3.4中
1)运行->;运行配置
2)如果您的类未列在“Java应用程序”子树左侧的列表中,请单击左上角的“新启动配置”
2b)在右边的“主”选项卡上,确保项目和类是正确的
3)选择右侧的“参数”选项卡。这个有两个文本区域。一个是用于进入提供给main方法的args[]数组的程序参数。另一个用于VM参数。将以下内容放入带有VM参数的一个(低一个iirc): -Xmx2048m
我认为10.24亿美元应该足以满足你的需求了
4)单击应用,然后单击运行
如果堆空间仍然不足,您仍然可以将数字更改为更高的值,例如,您可以将-Xmx4g从2G添加到4G
# 2 楼答案
我认为默认的堆大小是128M
您可以使用
-Xmx
参数将其增加到java例如