我使用netbeans 6.5开发了条形码计费和库存软件。我不知道为什么当应用程序运行一段时间后,有时它会给出JAVA堆栈(Out of Memory)错误。我知道有一些方法可以处理netbeans中的内存分配。有谁可以帮我这个..
Thankx
答案 0 :(得分:2)
您需要弄清楚您的应用程序是否需要比默认设置更大的工作内存,或者它是否只是泄漏。如果存在内存泄漏(这是一个常见问题),那么增加总内存只会使应用程序在崩溃之前有更多时间。这很容易做到(正如其他海报所建议的那样),它会告诉你是否存在泄漏,所以先试试吧。如果它在内存中不断增长,您需要查看应用程序在内存中保留的内容。看看JConsole(Java6附带)或JHat或其他工具。
答案 1 :(得分:1)
您应该在启动程序时传递参数-Xmx1024m
,以便jvm可以为您的应用程序使用更多堆。这个-Xmx将为你的程序提供1024mb的内存。
答案 2 :(得分:1)
使用java -Xmx<size>m
设置堆的最大大小。并使用像JMP(Java Memory Profiler)这样的内存分析器来计算内存消耗。
关于SO的类似问题: