IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Debutant(e)]outOfMemoryError


Sujet :

Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut [Debutant(e)]outOfMemoryError
    Bonjour,

    lorque j'exécute certains programmes j'aurais le message d'erreur suivant : java.lang.outOfMemoryError.

    1. ce message d'erreur est dû a quoi ?
    2. comment régler ce problème.





    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    1. Ce message est dû au fait que la jvm a besoin de plus de mémoire que celle qui lui est allouée.

    2.Ben c'est un peu vague, ça dépend des programmes que tu utilises.
    Bon tu peux déjà augmenter la taille de mémoire allouée à la jvm (tape java -help à le console pour voir les options, je m'en rappelle plus). Si le problème persiste c'est que c'est un problème dans le code (genre création d'un nombre d'objets bien trop important, pas de réutilisation, après faut voir.....)

  3. #3
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    perso ce type d'erreur est arrivé parceque je lisais et affichais trop d'immage via BufferedImage, cependant ca peut également arriver quand tu essayes de lire des fichiers trop volumineux (plusieurs dizaine de Mo)
    différents post on déjà été posté, dont les miens a ce sujet, fais une recherche avancée peut etre qu'elle t'aidera

    tchÔ

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 9
    Par défaut
    Sur un terminal, tu tapes java -Xmx256m, ce qui allouera plus de mémoire pour ta JVM

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Tu peut aussi l'avoir dans une boucle infini ( qui ne devrais pas l'etre ) au bout d'un moment bah forcement ca pete !

  6. #6
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Moi ca m'arrivait aussi en affichant des BufferedImage successivement. J'ai resolu le pb en appelant regulierement System.gc()
    Je sais c'est pas propre mais j'ai jamais compris comment parametrer le gc .
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  7. #7
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    pour les bufferedImage un flush() apres l'affichage ou un je c plus kelle méthode et ca diminue un peu le pb...

    pour le paramétrage de la JVM (-Xms) je suis un peu contre...sauf si tu trouves comment stabiliser le pb, car le fait d'augmenter la mémoire ne résoud rien, c just reculer pour mieux sauter ...et quand ca crash, ca crash avec plus de mémoire OQP

  8. #8
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut
    bonjour,
    le probleme est que je cree plusieur class donc c'est évident (peut etre) qu'il y a l'erreur out of memory.j'ai essayé java -Xmx250m mais il m'affiche toujour le help donc comment faire.

    merci pour votre aide c'est tres urgent.

  9. #9
    Membre éclairé Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Par défaut
    tout simplement c pas la bonne syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javac ... -Xms 250m
    je ne suis pas sur pour le "m" mais bon...d essai rapide et/ou une recherche sur le forum devrai t'aider

  10. #10
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut
    il ya toujour la meme erreur ,je n'arrive pas a augmentrer la taille de la memoire SVP une aide pour se deparasser de ce problemes ,es que il y a une autre façon de detruire les objets deja cree et recuper l'espace (remarque : j'utiliste des arrey list ou je declare des objets dedans ,j'ai affecter a cretains agents null puis j'ai lancer System.gc() mais j'ai toujour ce probleme).

    merci pour votre aide

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    Salut,

    Bon normalement, t'as pas besoin de t'occuper de la mémoire, Java le gère tout seul. Bon essaye quand même les deux lignes suivantes, des fois ça permet de résoudre certains problèmes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.runFinalization();
    System.gc();
    Sinon est-ce que tu peux être un peu plus précis, genre à quel moment survient cette erreur ??

  12. #12
    Membre régulier
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Par défaut
    le probleme c'est que je declare becoups d'objets dans un arraylist donc comment recuperer l'espace memoire de ces objets merci.

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    Tu peux pas récupérer la mémoire allouée à un objet précis en Java, tu peux seulement forcer le passage du Garbage collector et optimiser son boulot avec le déréférencement et le runFinalization(). Ensuite qu'est-ce que tu entends par beaucoup d'objets ?? et quelle est la nature de ces objets ?? A quel moment survient le OutOfMemoryError (à l'initialisation, après, toujours au même momnet ) ?? Si tu donnes pas plus de précisions, ça va être dur de t'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  2. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  3. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  4. [Debutant] Fichier war
    Par saispasfau dans le forum JBuilder
    Réponses: 2
    Dernier message: 17/03/2003, 15h32
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo