创建整数数组thorws Java堆空间

时间:2016-07-05 16:16:13

标签: java eclipse

我有一个简单的程序,它让我内存不足问题:

public static void main(String[] args) {

    int i[] = new int[457560000];
}

这会抛出以下错误:

  

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

我已尝试在我的eclpse中设置VM参数,如下所示:-Xms1024M -Xmx2048M,但仍然出现相同的错误。

我不需要这么大的数组,但我的图像处理问题是图像尺寸非常大。调试时我发现AWT软件包试图创建这个数组并因内存问题而失败。

如何解决此问题?在运行此代码之前需要设置多少内存?

更新

我也尝试在eclipse运行配置虚拟机设置下为Xmx设置6GB,我的机器被绞死了一段时间但又遇到了同样的错误。

1 个答案:

答案 0 :(得分:0)

指定代码段的运行配置至少需要-Xmx2640M,具体取决于您使用的JRE。

由于-Xmx是仅在必要时使用的最大值,您可以使用例如-Xmx256000M运行程序,然后查找实际使用的内存量。