0

这个问题与这个有关

如果我有一个堆转储报告说有一个95%线程处于waitparked状态,并且有大约 750MB 可用堆内存可用,那么如何获得一个java.lang.OutOfMemoryError
由于根据报告似乎有空闲堆,这对我来说似乎很奇怪!
谁能帮我解释一下?

4

2 回答 2

1

OOME 可以由堆溢出或堆栈溢出引发。因此,如果您确定堆足够,我建议检查堆栈大小。

于 2012-07-27T08:33:23.550 回答
1

您使用的是哪种操作系统?是 32 位还是 64 位?您的 JDK 32 位还是 64 位?您总共需要多少堆空间?尝试使用更多的最大堆空间运行您的程序。我想转换 XML 文件时遇到了同样的问题。您只需设置以下参数:

在你的外壳中:

java -Xmx1024m -jar yourfile.jar
于 2012-07-27T08:41:15.787 回答