2011-12-06 105 views
1

我正在運行k-medoide集羣的程序。我建立一個函數爲每個對象分配簇,然後運行一個函數來更新中心。每當我從數據庫訪問時,我都有一個嵌套循環和循環。但我更新中心功能我得到這樣的錯誤Java集羣中的垃圾回收

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.regex.Pattern.compile(Pattern.java:1438) at java.util.regex.Pattern.(Pattern.java:1130) at java.util.regex.Pattern.compile(Pattern.java:822) at java.lang.String.split(String.java:2293) at java.lang.String.split(String.java:2335) at dtamining_project_rabia.kMeanMapper.updatecenter(kMeanMapper.java:233) at dtamining_project_rabia.Main.main(Main.java:21) Java Result: 1

我不知道我的內存泄漏雖然我不是存儲數據的對象,但訪問來自數據的基礎上每一次。

回答

1

generate a heap dump當程序拋出OOME。獲得一個程序,它允許您分析堆轉儲(jhat,netbeans,jvisualvm,yjp等)以確定導致OOME的原因。

0

您需要增加堆空間。

+0

但它不是一個很好的解決方案....每次我會增加空間,每次它會充滿.... :( –