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 :

récupération de mémoire [DOM]


Sujet :

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

  1. #1
    Membre confirmé
    Inscrit en
    Août 2003
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 128
    Par défaut récupération de mémoire
    Bonjour,
    svp est ce qu il y a une fonction avec DOM, qui permet le dechargement d un document xml du memoire, sachant que j ai utilise DOMParser pour charger un doc xml.
    Merci.

  2. #2
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Je ne suis pas sure qu'il y ai une solution plus rapide a ton probleme vu le nombre de fichier XML qui tu dois exploiter. De plus le java n'etant pas le langage de programmation le plus rapide du monde ca n'arrange pas les choses.
    En ce qui concerne le ramasse miette je ne pense pas que tu puisses internevir dessus. Je crois qu'il le fais automatiquement mais on ne sais pas quand. Si ca se trouve ca se fait quand il estime que tu as besoin de plus de memoire pour la suite de ton programme.
    Normalement en vidant ton vecteur tu devrait recuperer l'espace qui etait occupee avant.

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Tu peux forcer le garbage collector (ramasse miette) avec System.gc(); mais ca ne changera rien...
    Tu as beaucoup de fichiers à parser. Le parsing ne serait pas la cause ? Auquel cas, tu peux utiliser une grammaire (JFlex par exemple) qui sont faites pour le traitement de gros fichiers (et nombreux)
    Si tu ne veux pas, tu fais ton traitement directement au lieu de stocker tes infos dans un vector pour ensuite les réécrires dans un fichier...

  4. #4
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut, tu devrais utiliser un outil de monitoring (comme Profiler pour NetBeans) pour voir si tes arbres DOM sont bien supprimés de la mémoire.
    Attention car si tu crées une référence à un noeud dans l'arbre, t'auras beau mettre ton arbre à null, il sera pas supprimé de la mémoire. Ton problème vient peut-être de là.
    Autre soluce : appels à System.gc() avec le GC en mode synchone mais seulement à des endroits stratégiques car cela ralentit le thread de ton appli.
    D'ailleurs c'est bizzare l'option -noasyncgc de la JVM est soit disant inutile pour le JRE 1.5 alors que j'ai vu des différences avec et sans. Si quelqu'un a plus d'infos, je suis preneur...
    A+

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Au passage, pour les performances évite l'utilisation des Vector et préfère leurs des List .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    je viens de trouver une solution plus propre qui consiste à supprimer le noeud document avant de mettre l'arbre DOM à null.

    domTree.removeChild(domTree.getDocumentElement());

    Apparemment ca facilite le travail du Garbage Collector. J'imagine qu'il n'a plus besoin de parcourir l'arbre entier et vérifier si chaque noeud a encore une référence externe.

    [Edit]L'appel explicite au GC est finalement pas conseillé. Désolé pour le conseil bidon [/Edit]

    Bye

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Il serait peut-être intéressant d'utiliser les SoftReference & co.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

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

Discussions similaires

  1. [AC-2003] Récupération de formulaire "Mémoire insuffisante"
    Par ronibalbo dans le forum IHM
    Réponses: 4
    Dernier message: 05/05/2010, 15h27
  2. Récupération informations mémoire Oracle 9i
    Par nicotine78 dans le forum Oracle
    Réponses: 5
    Dernier message: 19/09/2007, 10h05
  3. Récupération de mémoire
    Par ChPr dans le forum Graphisme
    Réponses: 13
    Dernier message: 23/05/2007, 15h10
  4. [System] Récupération de la taille mémoire de son programme
    Par splend_f dans le forum Général Java
    Réponses: 13
    Dernier message: 02/04/2006, 03h24
  5. Réponses: 5
    Dernier message: 12/12/2005, 14h39

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