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 :

Comment augmenter le heap Java?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut Comment augmenter le heap Java?
    Bonjour,
    comme le titre indique j'aimerai bien savoir comment augmenter le heap java parce que j'ai bcp de matrices dans mon logiciel et eclipse, il m'affiche un message d'erreur qui concerne le heap.
    svp pouvez vous m'indiquer (par les étapes) comment augmenter le heap?
    p.s: la machine avec 2G de ram.
    merci bcp
    cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Dans éclipse.ini, tu as une ligne
    -Xmx256m
    tu peux remplacer la valeur 256.
    Sinon, tu peux aussi montrer ton code pour voir si des optimisations sont envisageables.

    A+.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    eclipse.ini ne concerne que la JVM faisant tourner eclipse, pas les jvms lancée pour lancer des applications développées dans eclipse. Pour ces dernier: run configuration -> arguments -> vm arguments -> -Xmx512m par exemple

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut
    Bonjour,
    merci pour votre réponse, mais j'ai toujours le même problème malgré j'ai augmenté le heap jusqu'a 1024m.
    j'ai déclaré une matrice statique
    double [][] mat= new double[36000][36000];
    et lors de l’exécution, bien entendu lors de remplissage de cette dernière. java il m'affiche un message qui concerne le heap space et une ligne d'erreur au niveau de la déclaration de cette matrice.
    je ne sais pas est ce que la structure statique ne supporte pas la taille jusqu’à 36000??? si oui alors est ce que le ArrayList ou bien Vector me permet d'aller jusqu'à 36000? parce que vraiment il faut passer par 36000 case dans la matrice... je serai ravis de tous vos suggestions.
    merci bcp de me répondre.

  5. #5
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    La taille d'un double est de 8 octets. Tu veux en faire 36 000 * 36 000 * 8 = 10 368 000 000 octets. Soit un peu moins de 10 Go. Bref, tu ne peux pas faire ca. Quand à utiliser Vector/ArrayList, ils utilisent un tableau interne donc au final, ca reviendra au meme.

    Le mieux, c'est d'expliquer pourquoi tu as besoin d'un tableau aussi grand, tu peux surement t'en passer

    EDIT : j'ai oublié de multiplier par 8

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Citation Envoyé par rawasi Voir le message
    Bonjour,

    double [][] mat= new double[36000][36000];
    Tu fais une carte de l'espace?

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    36 000 * 36 000 * 8 = 10 368 000 000 octets. Soit un peu moins de 10 Go. Bref, tu ne peux pas faire ca
    On se dirige droit sur une base de données
    ou au moins un fichier ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 55
    Par défaut
    Bonjour,
    ma matrice est symétrique et représente le relation entre les mots(36000 mots donc 36000 lignes et 36000 colonnes) si par exemple deux mots apparaissent dans la même phrase alors je vais accéder a ma matrice et dans la ligne qui représente le premier mot et la colonne qui représente le deuxième je met 1.
    j'ai essayer avec Integer au lieu double mais tj pb de heap. est ce qu'il y a un autre moyen ?
    merci
    cordialement.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/08/2005, 08h58
  2. Réponses: 17
    Dernier message: 04/08/2005, 14h49
  3. Réponses: 2
    Dernier message: 28/07/2005, 03h59
  4. Comment definir un string java en c++
    Par chelguera dans le forum C++
    Réponses: 13
    Dernier message: 31/12/2004, 12h56
  5. comment connecter VC++ et (java ou VB)
    Par Tray dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 18/11/2002, 13h51

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