我开发了一个拥有3000多个源文件的项目;当我想在几分钟后运行我的项目时,它会给我java.lang.OutOfMemoryException: java heap space
这样的错误。我通过右键单击和VM选项增加了我的项目内存我给了1024MB我在我的PC上有两个2GB。
答案 0 :(得分:0)
您可能知道可以使用java -Xms<initial heap size> -Xmx<maximum heap size>
来增加JVM的内存。
然而,这只会延迟问题,因为您的应用程序中可能存在内存泄漏导致堆溢出的地方。我建议您使用像Netbeans Profiler这样的工具,它可以帮助您找出发生内存泄漏的位置。 Netbeans Profiler将允许您查看对象的创建位置,垃圾收集的位置等。
答案 1 :(得分:0)
可能是应用程序只分配了大量内存或存在实际泄漏。我的方法是使用内存分析器(如Eclipse MAT)来查看哪些对象占用的内存最多。
如果它们看起来都有效,那么您可能需要增加堆大小空间。虽然我曾经使用过512MB堆的5000多个类Web应用程序项目,所以我不怀疑这是一个内存泄漏。
您还应该在代码中查找ByteArrayOutputStream
的实例,它们也会占用大量内存。