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 :

Travail sur disque au lieu de mémoire


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Par défaut Travail sur disque au lieu de mémoire
    Bonjour,
    Mon programme java travaille avec une structure de type Hashtable (pour le moment). Les objets sont tous du même type mais n'ont pas la même taille.
    Je dois faire des insertions (uniquement en fin de liste) et des modifications (n'importe où dans ma liste).
    Pour certaines raisons je ne peux plus travailler avec cette structure en mémoire (à cause de sa taille notamment), et je cherche donc un moyen de travailler sur disque avec les mêmes contraintes : ajout en fin de liste et modification n'importe où. J'ai pensé travailler avec des random access files mais les objets stockés sont de taille variable, et les fichiers séquentiels j'y pense même pas niveau perf.
    Donc si vous avez une idée qui me permettrait de bosser avec les avantages de ma hashtable mais sans la garder en mémoire ou pas totalement, je suis preneur.
    Merci

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Euh je sais pas si c'est une bonne idée mais tu pourrais créer ta propre Map et implémenter un stockage des value par serialization sur le disque.

  3. #3
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Sur quel système travailles-tu? Ça me parait bizarre que tu aies des problèmes de mémoire en Java. Il me semble que la gestion de la mémoire est prise en charge par le système d'exploitation en cas de surcharge.

  4. #4
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par muad'dib
    Sur quel système travailles-tu? Ça me parait bizarre que tu aies des problèmes de mémoire en Java. Il me semble que la gestion de la mémoire est prise en charge par le système d'exploitation en cas de surcharge.
    La OutOfMemoryException ne devrait pas exister alors ? Ca serait trop beau.
    Si tu travailles avec du volumes, la mémoire peut saturer, même si c'est du Java.
    J'ai une appli de GED qui pour l'instant plante lorsqu'on ajoute dans le système un fichier de plus de 100Mo.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Par défaut
    Je travaille sur du multiplateforme : unix solaris windows,..
    Mon problème est un problème de heap space, et l'augmenter n'est pas une solution. C'est pour ça que je voulais travailler sur disque. Je ne peur pas non plus travailler avec des sous ensemble de ma structure parceque je dois y avoir acces en entier à tout moment

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    le plus simple ce serait pas d utiliser une base de donnée ?

  7. #7
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Citation Envoyé par natha
    La OutOfMemoryException ne devrait pas exister alors ?
    Yes tu as raison. Il existe un argument de la JVM pour augmenter l'espace mémoire à utiliser non ?

    Mais comme l'a dit HurtMarley c'est vrai que ce n'est pas une solution : la mémoire c'est comme les sous, c'est tarissable.

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

Discussions similaires

  1. [Toutes versions] Comment travailler sur des données stockées en mémoire, plutôt que sur une feuille
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/04/2011, 13h35
  2. [Session Trop Lourde] Peut on l'écrire sur le disque plutot qu'en mémoire?
    Par Spiff__ dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 30/03/2009, 16h27
  3. WAMP et répertoire de travail sur disque dur réseau
    Par alfredooo dans le forum Apache
    Réponses: 1
    Dernier message: 10/04/2008, 15h46
  4. [CF 2.0]PDA Travailler sur carte mémoire.
    Par skaraa dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 07/02/2008, 10h44
  5. requete sql trop longue enregistrement en mémoire ou sur disque
    Par jyvaut75 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 01/02/2008, 15h11

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