出现此错误时我使用 Java 8(在 Eclipse 中):
java.lang.OutOfMemoryError: Java heap space
我试过 -Xmx
命令,但没有用,即使更改 MetaspaceSize 也无法解决问题。当我尝试交换列表的元素(它的大小 <= 395)时会出现此问题。
public void permutation(double[] arr, int pos, ArrayList<double[]> list) {
if (arr.length - pos == 1)
list.add(arr.clone());
else
for (int i = pos; i < arr.length; i++) {
swap(arr, pos, i);
permutation(arr, pos + 1, list);
swap(arr, pos, i);
}
}
最佳答案
更改分配的堆空间量不会解决问题。
您的堆正在被用完,因为您正在创建数量惊人的对象并查看您正在尝试实现的目标,这可能是您的代码中的错误。
您需要调试您的应用程序以确定所有对象的创建位置以及垃圾收集器无法清除它们的原因。
关于java.lang.OutOfMemoryError : Java heap space for java 8 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926528/