OutOfMemoryException:java堆空间

时间:2015-02-08 17:55:32

标签: java swing

我开发了一个拥有3000多个源文件的项目;当我想在几分钟后运行我的项目时,它会给我java.lang.OutOfMemoryException: java heap space这样的错误。我通过右键单击和VM选项增加了我的项目内存我给了1024MB我在我的PC上有两个2GB。

2 个答案:

答案 0 :(得分:0)

您可能知道可以使用java -Xms<initial heap size> -Xmx<maximum heap size>来增加JVM的内存。

然而,这只会延迟问题,因为您的应用程序中可能存在内存泄漏导致堆溢出的地方。我建议您使用像Netbeans Profiler这样的工具,它可以帮助您找出发生内存泄漏的位置。 Netbeans Profiler将允许您查看对象的创建位置,垃圾收集的位置等。

答案 1 :(得分:0)

可能是应用程序只分配了大量内存或存在实际泄漏。我的方法是使用内存分析器(如Eclipse MAT)来查看哪些对象占用的内存最多。

如果它们看起来都有效,那么您可能需要增加堆大小空间。虽然我曾经使用过512MB堆的5000多个类Web应用程序项目,所以我不怀疑这是一个内存泄漏。

您还应该在代码中查找ByteArrayOutputStream的实例,它们也会占用大量内存。