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 :

Limiter la lourdeur d'un logiciel java


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Points : 75
    Points
    75
    Par défaut Limiter la lourdeur d'un logiciel java
    Bonjour,

    Lorsque je vérifie mon gestionnaire des taches et que je regarde le processus javaw, il pese 70 Mo. Apres quelques minutes d'utilisations.

    Comment faire pour limiter la taille prise par mon logiciel? et optimiser l'utilisation mémoire.
    Je pense déjà à mettre mes variables à null pour me GC.

    Peut etre d'autes choses?

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    C'est assez vague comme sujet, voila ce qui me vient à l'esprit :
    • Limiter le chargement de fichiers (ne charger qu'une fois les images ou dictionnaires)
    • Ne pas oublier de libérer TOUTES les ressources après utilisation (Comment libérer proprement les ressources, Comment fermer une connexion ?, Doit on fermer un ResultSet ?, Doit on fermer un Statement ?
    • Limiter le nombre de références aux objets, avoir fait une bonne conception.
    • Utilise un profiler (il y en a un dans le jdk depuis la version 6, <jdk>/bin/jvisualvm.exe) pour voir quelle partie de ton code occupe la plus grande partie de ta mémoire et améliore ce point, optimiser le plus couteux sera plus efficace que d'optimiser les petites consommations de ressources.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Points : 75
    Points
    75
    Par défaut
    Merci je vais regarder ca.
    Si d'autres personnes ont des pistes, elles sont les bienvenues.

    Sinon c 'est un sujet vague car je ne savais pas par où commencer.

    Une précision. C'est une appli en client/serveur avec des EJB.

    DOnc aucune connexions directe à la base du côté du client.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Points : 75
    Points
    75
    Par défaut
    Je regardes donc le profiler de netbeans :

    J'obtiens ca:pj


    Que puis je en tirer comme enseignement?

    Je vais regarder le profiling de plus près.
    Images attachées Images attachées  

  5. #5
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Dans cette image, on voit les temps d'exécution des méthodes. Il faudrait plutôt regarder la consommation mémoire, la taille de la pile (heap).
    Désolé pour le manque de précision mais je ne connais pas ce profiler.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Points : 75
    Points
    75
    Par défaut
    Voila la taille de la pile:
    cf pj.

    Donc on peut en déduire qu'on utilise la pile à 21M sur 27.
    Est ce correct?

    J'ai remarqué quand meme une baisse de la zone mauve après un premier parcours du code.

    Merci
    Images attachées Images attachées  

  7. #7
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    En fait un certain espace de mémoire est alloué à la pile (5Mo au début de ton graphique). Si jamais l'application vient à s'approcher cette limite, de l'espace supplémentaire est donné (passage à 27Mo).

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Points : 75
    Points
    75
    Par défaut
    OK donc le passage au 27 est normal.

    Merci

Discussions similaires

  1. Limiter l'utilisation d'un logiciel java
    Par Neilime dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 05/11/2008, 15h20
  2. Limiter les acces d'un programme Java
    Par Darkdaemons dans le forum Sécurité
    Réponses: 2
    Dernier message: 23/04/2007, 16h48
  3. Lancer logiciel java
    Par Clorish dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2007, 10h21
  4. logiciels java : lesquels choisir (debutant)
    Par leclone dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 11/11/2006, 17h01
  5. Quel logiciel java télécharger
    Par bahhak dans le forum Langage
    Réponses: 19
    Dernier message: 29/07/2006, 02h29

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