奇怪的java.lang.OutOfMemoryError:Java堆空间错误

时间:2013-04-09 02:20:09

标签: java eclipse

我一直在使用JDK 1.6 u43和Windows 7 64bit下的eclipse 4.2.2获取此java.lang.OutOfMemoryError:eclipse中的Java堆空间错误。我不知道该错误意味着什么或如何解决它......

5 个答案:

答案 0 :(得分:1)

如果没有进入太多,堆是一个大的内存池,它会在程序运行期间存储您的实时变量等,并且错误消息表明您已经用完它了!

您可以先尝试运行具有更高最大堆大小的eclipse

eclipse -vmargs -Xmx1024M

如果这样可以解决您的问题,那么您可以更改eclipse.ini文件中的值,如其他一些建议所述。

如果这不能解决问题,很可能你的程序中存在某种内存泄漏并试图在内存中存储太多大对象,在这种情况下我们需要看到代码能够帮忙。

答案 1 :(得分:0)

您可能有内存泄漏,或者您可能正在分配大型对象,例如当你可以单独分配它们然后将它们的引用归零时,所有图像都会立即显示,或者你可能只需要一个需要大量内存的程序。尝试将-Xmx和-Xms命令行参数设置为较大但在计算机功能范围内的参数,例如: -Xmx =4096米

答案 2 :(得分:0)

双击Eclipse中安装的已安装Jres,配置以下参数:

-Xms512M -Xmx1024M 

在Eclipse的默认VM参数中。

此问题可能已解决。

此致!

答案 3 :(得分:0)

在Eclipse下载文件夹中make / replace eclipse.ini文件中的条目

-Xms512m
-Xmx1024m

答案 4 :(得分:0)

最佳做法是检查代码是否存在内存泄漏,并确保在不关闭或收集垃圾的情况下,您不会遗留数千个对象或流。简单地增加内存限制就像避免问题或逃避你所犯的错误一样。 检查代码后,如果您认为每件事情都没问题,但仍需要更多内存来处理它,您可以增加堆大小。 看看这里: Increasing Heap Size

http://www.ibm.com/developerworks/java/library/j-leaks/

http://www.openlogic.com/wazi/bid/188158/How-to-Fix-Memory-Leaks-in-Java

我希望它会对你有所帮助。