线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

时间:2012-02-27 04:18:39

标签: java eclipse stanford-nlp

我正在使用Eclipse来运行java程序类,而我运行它时遇到了这个错误

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

然后我从属性>更改了VM运行> VM选项,我再次运行程序,我遇到了一个新错误,

Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified

我正在尝试在我的程序中应用stanford库,任何想法如何解决这个错误。

3 个答案:

答案 0 :(得分:7)

要更改Eclipse的VM,您可以更改MV的数量     Windows和GT;偏好> Java和GT;已安装的JRE 从那里选择JRE并单击编辑,然后在默认VM参数中写入:-Xmx1024M或任何其他数量的内存......

答案 1 :(得分:2)

  

VM初始化期间发生错误。指定的初始和最大堆大小不兼容

这可能意味着您提供了-Xms和-Xmx选项,并且-Xms(初始堆大小)值大于-Xmx(最大堆大小)值。


  

netbeans仅用于从属性>更改-Xms。运行> VM选项

我不是NetBeans用户。但是,对Using NetBeans 5.0手册的简要搜索说这是不正确的:

  

设置JVM参数

     

您可以在“项目属性”对话框中为项目指定JVM参数   框。打开“项目属性”对话框,然后单击“类别”窗格中的“运行”   然后在VM Options字段中键入以空格分隔的JVM参数列表。

换句话说,您可以设置JVM支持的任何 JVM选项。


  

这是我改变的字符串-Xms512m

(最后他告诉我们!!)

添加-Xmx512m。

对于记录,常见的JVM选项(例如-Xmx和-Xms)清楚地记录在java命令的手册页中。你应该仔细阅读。

答案 2 :(得分:0)

要使用-Xmx选项扩大VM堆大小,这可以解决错误。但似乎这是你的编码问题。也许代码处于死循环中以创建新对象,或者在代码中创建了一个非常大的对象,因此我建议您先检查代码。