标签: java eclipse swt heap-memory
我有一个接受java类型项目并在所有文件上做一些解析机制的SWT应用程序,它工作正常但是在大型项目中有大量文件它开始生成错误:
Java堆空间:java.lang.OutOfMemory
并终止解析。我怎么能通过java编程来处理它,而不是猜测用户的机器配置。
注意:直到现在我尝试了一种机制,我首先计算项目文件,如果它跨越MAX大小,我在这里取1000,在包含50个文件的文件夹块中划分项目并逐个解析它们但它也没有点击,我得到一些文件夹解析后的错误。
答案 0 :(得分:5)
使用 Java堆空间:java.lang.OutOfMemory 时最实际的方法(因为您没有共享任何代码)将分析您的Java应用程序,以便您可以更准确了解应用程序堆空间不足的地方。然后,您可以修改代码以减少应用程序的内存使用量。
YourKit和VisualVM是可用于测试应用程序的Java分析软件的两个很好的示例。
此外,增加项目的堆大小可以被视为可能的解决方案。您只需要重新调整虚拟机的-Xmx选项,该选项设置堆的最大大小。
-Xmx