Problem de Java heap space [Fermé]

Signaler
Messages postés
23
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
8 mars 2011
-
 biboo -
Bonjour,
je vien de terminé mon projet qui traite les textes( 600 texts ) [classification de texts]mais j'ai rencontré ce message quand j'ai traité simplement 100 text !! :
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
sachant que j' utilise le jbuilder 2005

es que ce problem a un rapport avec la RAM ??

svp aidez moi .

3 réponses

Messages postés
23
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
8 mars 2011
3
salut
j'ai détruis mes objets après leur utilisation par l'instuction : System.gc ();
mais il rest le méme problem es que il y a d'autre methode plus puissante que celle ci ?
moi j'utilise des methodes, aprés l'éxecution de ces méthode j'ajoute l'instuction : System.gc ();
es que j'ai bien utilsé cette instruction ou je dois la mettre dans une autre place cad avant executé les methodes qui suit ?
merci
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
130
Ben je ne peux pas savoir, c'est toi qui doit être capable de dire si tu détruits bien tes objets au bon moment. Et plutôt que d'appeler le garbage collector trop souvent, mets peut être tout simplement tes objets à NULL, ça devrait être plus performant. Après je ne fais là que des suppositions, je ne connais pas grand chose à Java.
Par défaut, la mémoire RAM allouée à la machine virtuelle n'est pas très grande.
Ya moyen de gérer ça lors de l'execution de l'appli' (quand tu lances ton jar/executable).

Sinon dans le code, essaie d'utiliser le moins de références possibles, essaie d'appeler le moins de fonctions possible (genre n'utiliser que la valeur de retour affectée par un méthode plutôt que la méthode elle-même), optimiser les itérations:

int length = ..;
for(int i = length; i > 0 ; i--) {

}


plutôt que
int length = ..;
for(int i = 0; i < length ; i++) {

}

où tu feras appel à length plusieurs fois.

Pleins d'autres astuces
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
130
Je dirais que tu alloues effectivement trop de mémoire... L'exception indique que tu ne peux plus rien allouer sur le tas. Il faudrait revoir ton application et t'assurer que tu détruis correctement tes objets après leur utilisation.