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 :

Xpath probleme de heap space


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut Xpath probleme de heap space
    Bonjour,

    J'effectue quelques tests de performances avec XPath afin de voir comment je peux stocker mes données en XML. Etant donné que le fichier que je veux pouvoir parser seront potentiellement assez gros (plusieurs millions d'informations) je doute que cela soit viable mais on ne sait jamais.

    Donc, je fais pour l'instant un test ou j'utilise un fichier XML contenant environ 120 000 balises. J'arrive à ouvrir mon fichier et à créer un Document Jdom avec.
    Par contre, au moment d'effectuer la recherche à proprement parler avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    org.jdom.Element racine = document.getRootElement();
    XPath xpa = XPath.newInstance("//prenom[@id='30000']");             
    List results = xpa.selectNodes(racine) ;
    Bah là je me prend un Java Heap space dans la tronche.

    Cela m'amene à deux questions.

    Déjà pourquoi ? J'aurais pensé que le problème de charger aurait lieu au moment de créer le document JDOM, mais non. Lorsque l'on fait xpa.selectNode(racine), cela ne consiste pas à faire un parcours de l'arbre Jdom ? Quels objets sont créé pour que cela prenne autant de place ?


    Ensuite, est ce qu'il existe un moyen de contourner ce problème ?

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Il me semble qu'avec un des projets contribution (contrib) tu peux faire des *soi-disants requêtes XPath* sur disque qui construiront uniquement la portion de l'arbre qui t'intéresse.

    La classe à inspecter est la suivante :
    org.jdom.contrib.input.scanner

    Mais j'ai jamais essayé, je dis pas que c'est génial mais c'est une piste. En fait à première vue ça à l'air tout bêtement d'un filtre SAX.

    Puis pour info, les disques suffisamment performants pour faire des recherches efficaces parmi des millions de noeuds XML sans index n'existent pas encore....

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Oui des millions ca me paraissait aussi beaucoup, c'était juste le plus pratique. Je dois pouvoir découper ca dans divers fichiers, mais je risque d'en avoir certain ayant quand plus de 100 000 données, or c'est à ce niveau que ca me plante à la figure :/

    Par contre je ne trouve pas de package contrib, il me faut quelle version de JDom ?

Discussions similaires

  1. Probleme de Java heap space
    Par MASSAKA dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 17/03/2008, 22h06
  2. Probleme java heap space
    Par arno15 dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2007, 09h52
  3. Probleme de java heap space : creation buffered image!
    Par Battosaiii dans le forum Multimédia
    Réponses: 7
    Dernier message: 06/08/2007, 10h49
  4. Probleme : Java heap space et images
    Par Crowell dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2007, 17h05
  5. probleme de mémoire : Java heap space
    Par Seb33300 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 21/02/2007, 13h40

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