2011-12-06 2 views
1

Je cours un programme pour k-medoide clustering. Je construis une fonction pour assigner un cluster à chaque objet puis j'exécute une fonction pour mettre à jour le centre. J'ai une boucle imbriquée et en boucle chaque fois que j'accède à partir de la base de données. mais je fonction centre de mise à jour je reçois une erreur comme celleGarbage collection dans Java clustering

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

Je ne sais pas où mes fuites de mémoire sont bien que je ne suis pas stocker des données dans l'objet mais l'accès à chaque fois de la base de données.

Répondre

1

generate a heap dump lorsque le programme lance l'OOME. le get un programme qui vous permet d'analyser la décharge de tas (jhat, netbeans, jvisualvm, yjp, etc.) pour déterminer ce qui cause l'OOME.

0

Vous devez augmenter l'espace mémoire.

+0

mais ce n'est pas une bonne solution .... Chaque fois que je vais augmenter l'espace chaque fois qu'il sera complet .... :( –