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

NetBeans Java Discussion :

erreur java : java heap space


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Par défaut erreur java : java heap space
    Bonjour, alors le titre l'indique j'ai une erreur du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    run:
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    Java Result: 1
    BUILD SUCCESSFUL (total time: 3 seconds)
    je travaille sur Win XP et la version 6.5 de netbeans (tomcat + profiler sont à jour).

    Alors j'ai essayé de cherché un peu la cause de cette erreur mais j'ai trouvé l'explication un peu compliqué.
    mais d'aprés ce que j'ai compris : Sous Xp la quantité de mémoire alloué est de 2 Mo, et qu'il fallait changer cette donnée là. Mais je ne comprends pas deja pourquoi j'ai ce probléme là !

    Ensuite j'ai essayé d'exécuter mon main avec un compilateur sous linux et sa me met la meme erreur ?

    Donc est ce que qqun pourrait me dire un peu c'est quoi ce probléme !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    La mémoire de la jvm est plaine.

    Alors si ton programme n'est pas censé utiliser beaucoup de ressource, tu as surement du faire une boucle de remplissage infini, ou une relation cyclique...
    Sinon tu peux tenter d'augmenter la taille de ta jvm avec cet argument :

    -Xmx1024M
    Pour 1024 mo.

    Tetar

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Par défaut
    Oui j'ai fait cette manip mais j'ai toujours la meme erreur !

    j'ai recompiler sous Linux et netbeans: et j'ai la meme erreur qu'au début !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Donc il y a forcement un problème dans ton code.

    Peux-tu montrer ton code. Au moins les points pouvant être sensible.
    Vérifie qu'un helloword ne pose aucun souci d'exécution pour être sur que ceci soit un problème de code.

    Tetar

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 264
    Par défaut
    le free -m me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                 total       used       free     shared    buffers     cached
    Mem:          3526       1500       2025          0        273        518
    -/+ buffers/cache:        709       2817
    Swap:         4353          0       4353

    Avec d'autre projet sa fonctionne , donc il devrai y avoir un probléme dans mon code.

    Mon programme est un jeu de 32 carte ==> une bataille : celui qui a la couleur et la valeur la plus forte gagne la carte en gros .

    J'ai une 3 classes

    - une classe Carte : qui défint une carte. elle implement une interface DonneeCarte (information sur la carte valeur + couleur)

    - une asse PaquetCartesListe : qui définit les maniére de jouer ,elle implément l'interface PaquetCartes ( service sur la maniére de jouer).

    - une classe bataille : qui créer un jeu de carte , distribut le jeux à 2 mains, et déruole je joue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    public class Bataille implements DonneeCarte{
     
        private PaquetCartes mainA ;
        private PaquetCartes mainB ;
     
        public Bataille() {
     
          this.mainA = new PaquetCartesListe () ;
          this.mainB = new PaquetCartesListe () ;
        }
     
        private static PaquetCartes creerJeuCartes(){
     
            PaquetCartes MonJeu = new PaquetCartesListe () ;
     
            for(int i = 0; i < NB_couleurs ; i++) {
     
     
                for (int j = 0; j <NB_Valeurs ; j++){
     
                    Carte c = new Carte(Valeurs[j] ,Couleurs[i] ) ;
     
                    MonJeu.insererCarteDessus(c);
                }
     
            }
            return MonJeu ;
        }
     
        private void distribuerCartes(PaquetCartes unJeu){
     
          boolean temoin = true ;
     
         while( ! unJeu.estVide()){
     
             Carte c = unJeu.retirerCarteDessus() ;
              if(temoin == true) { // On commence la distribution avec la main A
                  this.mainA.insererCarteDessus(c);
                  temoin = false ;
              }
              else{
                 this.mainB.insererCarteDessus(c);
                 temoin = true ;
              }
          }
     
        }
     
        public void jouer(){
     
            PaquetCartes PC = Bataille.creerJeuCartes() ;
     
            this.distribuerCartes(PC);
     
     
            while( !this.mainA.estVide() || ! this.mainB.estVide() ){
     
                Carte cA = this.mainA.retirerCarteDessus() ;
                System.out.println("La carte tirer pour A est : " + cA.toString());
                Carte cB = this.mainB.retirerCarteDessus() ;
                System.out.println("La carte tirer pour B est : " + cB.toString());
     
                if( cA.compareTo(cB) == -1){
     
                    System.out.println("La main A gagne");
                    this.mainB.insererCarteDessous(cA);
                    this.mainB.insererCarteDessous(cB);
     
                }
     
                if(cA.compareTo(cB) == 0){
     
                    System.out.println("Il y a égalité ");
                    this.mainA.insererCarteDessous(cA);
                    this.mainB.insererCarteDessous(cB);
                }
     
                if(cA.compareTo(cB) == 1){
     
                    System.out.println("La main B gagne");
                    this.mainA.insererCarteDessous(cA);
                    this.mainA.insererCarteDessous(cB);
                }
     
     
            }
     
            if( this.mainA.estVide() == true)
                System.out.println("A à perdu, c'est B qui gagne");
     
            if(this.mainB.estVide() == true)
                System.out.println("B à perdu, c'est A qui gagne");
     
     
        }
     
    }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Autre chose :

    tu peut essayer d'executer pas a pas avec le debuger afin de voir ou intervient l'erreur.

    tetar

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par bdptaki Voir le message
    Oui j'ai fait cette manip mais j'ai toujours la meme erreur !

    j'ai recompiler sous Linux et netbeans: et j'ai la meme erreur qu'au début !

    Salut,

    peux-tu également taper dans un terminal linux la commande free -m pour connaître la quantité de mémoire physique disponible.

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/12/2008, 17h35
  2. ImageIO.read erreur Java Heap Space
    Par GrooveRage dans le forum Graphisme
    Réponses: 1
    Dernier message: 12/03/2008, 21h33
  3. Réponses: 3
    Dernier message: 04/12/2007, 22h32
  4. 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