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

Langage Java Discussion :

Exécuter un traitement long et erreur java.lang.OutOfMemoryError


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut Exécuter un traitement long et erreur java.lang.OutOfMemoryError
    Bonjour à tous,
    Dans un projet, je devrais charger une liste de mots (genre d'un dictionnaire) en mémoire. Pour cela j'utilise un ArrayList. Depuis quelques temps, j'étais confronté à un problème de taille. Comme je charge un nombre important de mots, dépassant les quelques dizaines de millions, j'obtient toujours un message de type java.lang.OutOfMemoryError...
    J'ai aussi exécuté avec les paramètres -Xms1024M -Xmx2048M, étant donné que je dispose de 3 GO de RAM et une Debian 64Bits
    Est ce que quelqu'un a une autre idée, soit pour bien gérer ArrayList ou une autre méthode????

    Merci

  2. #2
    Membre confirmé Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Par défaut
    pas le choix je pense la, faut que tu passe par une base de données...

  3. #3
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut Exécuter un traitement long et erreur java.lang.OutOfMemoryError
    Merci pour ta réponse.
    J'ai pensé à la base de données, mais c'est contraignant les temps de traitements seront longs et les accès multiples aux disques risquent de pénaliser les traitements....
    Mais s'il n y a pas une autre alternative, j'aurai pas le choix..

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Par défaut
    oracle 11g est possible?

    il y a moyen de mettre des tables dans la ram je pense...

    sinon un giga de plus et tu es reparti pour un moment

  5. #5
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut
    J'ai entendu dire qu'Oracle n'a pas de limites (sauf celles du disque)..
    tit0um que ce que tu veux dire par : sinon un giga de plus et tu es reparti pour un moment ???

  6. #6
    Membre confirmé Avatar de Braillane
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 212
    Par défaut
    1Go de RAM...
    Nan mais de tte façon si t'a plus de place dans ta RAm tu es obligé de passer par le disque et donc tu es obligé de perdre en perf.
    Donc comme le dis Tit0um, une solution peut etre de rajouter de la RAM...
    Mais la seule et unique solution différente est de passe rpar le disque, et donc d'utiliser un soft fait pour... une base de données

    Y'en a des très légere et performant, surtout pour ce genre de projet monotable, et meme tu peux y gagner (à tester) si tu utilise des index!

Discussions similaires

  1. Erreur "java.lang.OutOfMemoryError: Java heap space"
    Par djanahana dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2012, 14h40
  2. Erreur "java.lang.OutOfMemoryError: PermGen space"
    Par Fennec. dans le forum Autres
    Réponses: 1
    Dernier message: 16/12/2010, 23h10
  3. message d'erreur java.lang.OutOfMemoryError
    Par winner258 dans le forum Général Java
    Réponses: 7
    Dernier message: 26/04/2010, 18h07
  4. Réponses: 3
    Dernier message: 04/12/2007, 22h32
  5. Eclipse erreur : java.lang.OutOfMemoryError: Java heap space
    Par sderecourt dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/04/2006, 11h28

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