2011-12-06 36 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

但它不是一个很好的解决方案....每次我会增加空间,每次它会充满.... :( –