SWT应用程序:Java堆空间:java.lang.OutOfMemory

RTA*_*RTA 2 java eclipse swt heap-memory

我有一个SWT应用程序接受java类型的项目,并对所有文件做一些解析机制,它工作正常,但在大型项目中有大量的文件,它开始生成错误:

Java堆空间:java.lang.OutOfMemory

并终止解析.我怎么能通过java编程来处理它,而不是猜测用户的机器配置.

注意:直到现在我尝试了一种机制,我首先计算项目文件,如果它跨越MAX大小,我在这里取1000,在包含50个文件的文件夹块中划分项目并逐个解析它们但它也没有点击,我在一些文件夹解析后得到错误.

Kor*_*urk 5

拥有Java堆空间时,最现实的方法(因为您没有共享任何代码):java.lang.OutOfMemory将对您的Java应用程序进行概要分析,以便您可以更准确地了解应用程序堆空间不足的位置.然后,您可以修改代码以减少应用程序的内存使用量.

YourKitVisualVM是可用于测试应用程序的Java分析软件的两个很好的示例.

此外,增加项目的堆大小可以被视为可能的解决方案.您只需要重新调整-Xmx虚拟机的选项,该选项设置堆的最大大小.