Rechercher : dans
Par :

Problem de Java heap space

Dernière réponse le 5 jun 2009 à 13:29:36 kamilia_85, le 3 jun 2009 à 20:16:06 
 Signaler ce message aux modérateurs

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 .

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « problem de Java heap space » dans :
Java - Premier programme Voir Première application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les types de données Voir Les primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
[Logiciel libre] Installation firefox 2.0+java+flash VoirInstallation firefox 2.0+java+flash en ligne de commande A. INTRODUCTION B. INSTALLATION FIREFOX 1. Création d'environnement 2. Téléchargement et vérification de la signature 3. Installation de Firefox 4. Démarrage de l'application C....
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
J2EE - Java 2 Enterprise Edition VoirIntroduction au Java Framework Le «Java Framework» (Java 2 Platform) est composé de trois éditions, destinées à des usages différents : J2ME : Java 2 Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des...
Java - L'héritage VoirLa notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...
Java VoirHistoire de Java Java est un langage objet ressemblant au langage C++. Il a été mis au point en 1991 par la firme Sun Microsystems. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré dans les appareils...

1

pyschopathe, le 3 jun 2009 à 20:20:46
  • +1

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.

Répondre à pyschopathe

2

kamilia_85, le 5 jun 2009 à 12:51:15
  • +1

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

Répondre à kamilia_85

3

pyschopathe, le 5 jun 2009 à 13:02:32

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.

Répondre à pyschopathe

4

 biboo, le 5 jun 2009 à 13:29:36

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

Répondre à biboo
Collection CommentÇaMarche.net