Problem de Java heap space

kamilia_85 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
 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 .
A voir également:

3 réponses

kamilia_85 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   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
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
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.
0
biboo
 
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
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
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.
0