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 :

Traitement des commandes UNIX


Sujet :

Langage Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut Traitement des commandes UNIX
    bonjour
    je traite le résultat d'une commande unix avec les stringbuffer
    voilà ce code
    ile me donne une erreur que j'ai jamais vu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    StringBuffer sb = new StringBuffer();
     
      write("sh int des | in 10");
      readUntil1("sh int des | in 10");
                    do 
                    {
                        ch = (char) in.read();
                        sb.append(ch);
                    } while (ch!='#');
                     System.out.print(sb);
                     sb=new StringBuffer();
    Les 2 méthodes write et readUntil permet d'exécuter les commandes unix en java
    L'erreur:
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

  2. #2
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonsoir

    Si je ne dis pas de bêtises, cette exception ne vient pas d'une erreur de programmation mais est en rapport à la mémoire allouée à ton programme. Pour résoudre celle-ci, il suffit d'augmenter la mémoire allouée à la JVM.

    Deux paramètres sont concernés:
    -Xms, set initial Java heap size.
    -Xmx, set maximum Java heap size

    En supposant que tu utilises Eclipse comme IDE, tu peux :
    - soit dans le fichier "eclipse.ini", ajouter à la fin -Xms512m et -Xmx1024m. enfin, à toi de fixer la taille de la mémoire.
    -ou tu fais un clique droit sur ton projet Run As -> Run configuration -> onglet Arguments et enfin dans VM arguments tu ajoutes -Xms512m et -Xmx1024m, pareille que précédemment.

    Dans les deux cas tu redémarre Eclipse (ou l'IDE que tu utilises)

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    merci bien

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Laine Voir le message
    Si je ne dis pas de bêtises, cette exception ne vient pas d'une erreur de programmation mais est en rapport à la mémoire allouée à ton programme. Pour résoudre celle-ci, il suffit d'augmenter la mémoire allouée à la JVM.
    Le diagnostique est correct, mais pas forcément la solution.

    Augmenter la mémoire disponible n'est pas forcément une bonne idée.
    Avant de faire cela il faut en savoir plus sur le programme : si c'est vraiment un gros consommateur de mémoire alors on peut augmenter la mémoire.

    Sinon c'est qu'il y a un autre problème, et le fait d'augmenter la mémoire ne fera que cacher le problème (ou le reporter).


    a++

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    bon j'ai presque 7 classe java et elles contiennent pas mal du code ..

  6. #6
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Le diagnostique est correct, mais pas forcément la solution.

    Augmenter la mémoire disponible n'est pas forcément une bonne idée.
    Avant de faire cela il faut en savoir plus sur le programme : si c'est vraiment un gros consommateur de mémoire alors on peut augmenter la mémoire.

    Sinon c'est qu'il y a un autre problème, et le fait d'augmenter la mémoire ne fera que cacher le problème (ou le reporter).


    a++
    Bonjour

    C'est vrai tu as raison, merci pour cette précision

  7. #7
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 626
    Points : 15 736
    Points
    15 736
    Par défaut
    Citation Envoyé par cisco.nat Voir le message
    bon j'ai presque 7 classe java et elles contiennent pas mal du code ..
    Les classe Java en elles même ne consomment pas le heap space. C'est plus le fonctionnement de ton code qu'il faut vérifier que Son nombre de ligne. Il faut vérifier que tu ne crée pas trop d'objets lourd et de gros tableaux inutiles. Il faut aussi s'assurer que tu ne conserves pas de référence sur des objets que tu n'utilises plus.

    Essaye si tu peux de désactiver une a une certaines parties suspectes de ton programmes pour voir si se sont elle les responsables.

  8. #8
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    ok merci bien

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

Discussions similaires

  1. Appeller des commandes unix dans du PL/SQL
    Par stepd dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/03/2008, 14h52
  2. relier des commandes unix ensemble
    Par jfb53 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/01/2008, 09h07
  3. [Systeme] Exécuter des commandes unix en java
    Par kenny49 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 12/02/2007, 11h37
  4. Appel des commandes UNIX
    Par Endash dans le forum Fortran
    Réponses: 1
    Dernier message: 02/06/2006, 16h37
  5. [D7]Ordre de traitement des commandes
    Par PBSDev dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2006, 15h05

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