这两天在写数据挖掘作业,在Java代码中调用weka包处理数据的时候,遇到这个问题:java.lang.OutOfMemoryError: Java heap space
这肯定是因为数据太大的原因,要读入几十万行的数据。
在网上找了一些解决办法,有用的没用的都尝试了一下,下面就列出有用的解决办法(这里只列出windows平台,其他平台等需要的时候再说吧):
方法一:
我是在Eclipse里面写代码的,所以直接在这里面设置最方便:
1、打开eclipse,找到运行里的run configurations,有两种方法来找:第一种就是找到菜单里面run,然后往下找到此项;第二种方法就是在工具栏里找到运行图标,然后在旁边有一个下拉的按钮,从这里面找到此项。
2、在Run Configurations中,找到你想设置的项目,然后在VM arguments中,写入-Xms32m -Xmx1024m,并应用这个修改
3、下面运行就可以了。
【注意】如果你在配置里面把左边红框里的内容删掉,下次运行的时候需要再次配置才行。
方法二:
另外,如果你是在通过“java 类名”的方式来执行Java类的话,需要这样做“java -Xms32m -Xmx1024m 类名”。
【补充】网上还在流传改环境变量的方法,我试了,没成功,有成功的告诉我怎么破。