2011-12-06 10 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など)を分析して、何が原因であるかを判断できるようにするプログラムを入手してください。

0

ヒープスペースを増やす必要があります。

+0

しかし、それは良い解決策ではありません....毎回私はそれが完全になるたびにスペースを増やす.... :( –