这个问题与此one相关:
如果我有一个堆转储报告,95%
的线程处于 wait
或 parked
状态,并且存在问题750MB 可用堆内存如何可能会出现 java.lang.OutOfMemoryError
?
由于根据报告似乎有空闲堆,这对我来说似乎很奇怪!
谁能帮我解释一下这个?
最佳答案
您使用什么类型的操作系统?是 32 位还是 64 位?你的JDK是32位还是64位?您总共需要多少堆空间? 尝试使用更大的最大堆空间来运行您的程序。当我想转换 XML 文件时,我遇到了同样的问题。您只需设置以下参数:
在你的 shell 中:
java -Xmx1024m -jar yourfile.jar
关于java - 如果有空闲堆空间,为什么会出现 OutOfMemoryError 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683778/