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

Format d'échange (XML, JSON...) Java Discussion :

Plantage inexpliqué en execution, mais pas en débug [JDOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Plantage inexpliqué en execution, mais pas en débug
    Bonjour à tous,

    Vous êtes un peu ma dernière chance, deux jours que j'écume les forums et les sites de doc pour comprendre mon problème, mais pas moyen ...

    J'utilise netbeans 6.9.1, avec lequel je compile mon code et quand je le lance via netbeans aucun problème tout ce passe bien, mon fichier XML se charge sans broncher.

    Le problème c'est si j’exécute le .jar à l’extérieur d'éclipse ca plante lamentablement avec un beau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.OutOfMemoryError: Java heap space
            at org.jdom.ContentList$FilterList.iterator(ContentList.java:586)
    Voila le bout de code incriminé :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Element eld = null ;
            List<Element > datas = elm.getChildren();
            Iterator<Element > ite = datas.iterator();  // OutOfMemoryError
            while (ite.hasNext()){
                eld = ite.next();
            }

    JDK : 5
    jDom : 1.1.1


    Edit : j'oubliai : avant ça marchait parfaitement, ce n'est que récemment (sans aucune modification de cette partie du code) que ça c'est mis à planter ...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 615
    Points
    21 615
    Par défaut
    Cela est seulement dû à la taille du fichier XML, et au fait que NetBeans et Eclipse ne réservent pas la même quantité de RAM par défaut, pour les programmes qu'ils lancent.

    Bref, comme l'erreur l'indique, ton programme n'a pas assez de mémoire pour faire ça. Regarde la doc d'Eclipse pour lui réserver plus de mémoire.

    (Alternative : demande-toi s'il est bien normal d'occuper autant de mémoire, s'il est vraiment nécessaire de charger un si gros fichier entièrement, et si une approche SAX ou StAX ne serait pas plus adaptée.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    merci pour cette piste, je vais regarder si j'ai pas de "fuite" (déjà)

    Aurais-tu une piste sinon sur comment demander à la JVM plus de mémoire ?

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Après quelque recherche, je n'ai pas de fuite mémoire ...

    Juste un XML très très gros et donc JDom pète un cable en mémoire

    Résultat, le temps de passer le système en SAX uniquement j'ai poussé la mémoire alloué par la JVM.

    Pour information, il suffit de lancer JAVA avec les arguments suivants :
    -Xmx256m -Xms256m

    C'est pas très jolie comme ça, mais ca permet d'utiliser la version courante le temps de faire mieux

    Merci pour l'aide.

    (Résolue)

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

Discussions similaires

  1. sous XP-PRO plantage en RAID 1 mais pas en NORMAL
    Par Mass54 dans le forum Windows XP
    Réponses: 0
    Dernier message: 08/01/2010, 09h00
  2. Execution de script batch mais pas ds un .bat :
    Par Billy GunZ dans le forum C
    Réponses: 7
    Dernier message: 26/09/2006, 18h03
  3. Réponses: 4
    Dernier message: 08/01/2006, 18h26
  4. Applet qui s'execute dans un dossier mais pas dans l'autre
    Par Battosaiii dans le forum Applets
    Réponses: 11
    Dernier message: 10/12/2005, 15h54
  5. Réponses: 3
    Dernier message: 05/06/2005, 01h52

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