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 :

[bug] entrées sorties de souris


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut [bug] entrées sorties de souris
    J'ai trouvé un bug pour le moins assez étrange.
    J'ai fait une petite application et je suis tombé sur une anomalie pour le moins bizarre que je n'arrive pas à comprendre

    Si je fais rentrer et sortir ma souris de la fenêtre sans arrêt, plus je continue et plus la consommation ram de mon programme est importante alors que je ne traite les informations que sur des cliques souris sur des boutons avec AbstractAction

    La consommation se fait par tranche de 100Ko pour 10 entrées sorties de souris. Je sais, ça fait peu mais j'aimerai bien comprendre pourquoi et surtout comment y remédier

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 155
    Par défaut
    C'est un peu court niveau information
    os? jre? utilitaires utilisés pour le profiling?

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Et aussi le code source minimal compilable qui permet de reproduire ce comportement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut
    OS : linux
    version du jre : openjdk6 v6.b18_1.8
    Je fais tout à la main étant novice en la matière

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Oui, mais montre-nous quand même le code : on ne peut pas savoir l'erreur que tu fais si on ne voit rien

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut
    désolé pour le temps de réponse. Voici le code minimum où le bug se produit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import javax.swing.JFrame;
     
    public class essai {
    	public static void main(String[] argc) {
    		JFrame essai = new JFrame();
    		essai.setTitle("Essai");
    		essai.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		essai.setSize(200, 200);
    		essai.setLocationRelativeTo(null);
    		essai.setVisible(true);
    	}
    }
    Quand je surveille avec htop ou un autre outil qui permet de faire la même chose, le fait de faire entrer et sortir la souris de la fenêtre java fait augmenter la mémoire

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut
    Je précise qu'il faut faire rentrer et sortir la souris plusieurs fois pour commencer à faire une différence

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Lorsque ta souris entre dans la fenêtre, divers objets sont créés, notamment des événements et d'autres listeners. Le Garbage Collector (GC) de Java n'a pas spécialement besoin de supprimer les objets ainsi créés et donc ils s'entassent sans créer de problème. Lorsque Java aura atteint une certaine taille de mémoire, le GC va effectivement entrer en action et commencer à libérer l'espace pour l'utiliser à nouveau.

    Le fait que cela ne se libère pas automatiquement dépend de l'implémentation du GC. Celle de l'OpenJDK doit être différente de celle de Sun/Oracle puisque je n'observe pas ce comportement.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut
    Tu testes sous quel environnement ?
    Moi sous linux, openjdk ou celui de sun, le résultat est toujours le même

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Comme je te l'ai dit, c'est normal. Si l'OS ou Java demande de la mémoire, ce sera libéré.

    Je ne travaille que sous Linux.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Par défaut
    Oui oui, j'avais bien compris pour la libération de la mémoire
    Merci pour les infos

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

Discussions similaires

  1. [Débutant]Procédure avec paramètres entrée / sortie
    Par jeromejanson dans le forum Langage
    Réponses: 13
    Dernier message: 10/10/2005, 08h30
  2. Débutant - Entrée/Sortie
    Par seigneur.viggen dans le forum Langage
    Réponses: 11
    Dernier message: 28/09/2005, 15h47
  3. Copie entrée-sortie
    Par Troell dans le forum C
    Réponses: 18
    Dernier message: 24/09/2005, 19h11
  4. Bug entre le bootloader et mon kernel ?
    Par hudson dans le forum Programmation d'OS
    Réponses: 13
    Dernier message: 21/06/2005, 13h40
  5. Réponses: 11
    Dernier message: 13/10/2004, 00h58

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