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

AWT/Swing Java Discussion :

[Mémoire][Citrix] Optimisation de l'utilisation de la mémoire


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 22
    Points : 20
    Points
    20
    Par défaut [Mémoire][Citrix] Optimisation de l'utilisation de la mémoire
    Bonjour,
    J'ai 3 questions :
    Pour ma première question, je ne pense pas que se soit possible mais bon on peut toujours posser la question:

    1. Voilà j'ai une application en swing qui va tourner sur un server citrix, maintenant à chaque fois q'un utilisateur lance l'application une instance de la vm (15mb) est créer et donc utilise de la mémoire. Je me demandais si c'étais possible de laisser tourner l'application dans la vm.

    2. Mon application utilise 57-60mb de mémoire, si je fait un minimize et ensuite un maximize il n'utilise plus que 20 mb et ensuite remonte à maximum 43mb (en travaillent avec). Je demandais si c'étais possible de libérer la mémoire après le lancement de l'application comme je suppose le fait le miminze/maximize? (le System.gc() ne fonctionne pas).

    3. Est-ce qu'il y a un moyen d'optimiser un Jtree (avec beaucoup de contenu) du point de vue mémoire?

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    À toutes ces questions, je pense qu'on peut répondre oui, mais c'est à l'application de le faire. Si tu ne peux pas intervenir sur son code et son architecture, alors ce n'est pas possible. Il n'y a pas à ma connaissance une option miracle de la JVM qui optimiserait un JTree, qui libèrerait la mémoire dès le lancement de l'appli ( ? ), ou laisserait tourner une vm avec plusieurs applis.

    Reposes ces questions une par une, détaille un peu, et on verra ce qu'on peut faire...
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Pour mon premier point :
    Est-il possible que si plusieurs utilisateur lance mon application, cette application utilise tjrs la même instance de la jvm(java virtual machine)?
    Je ne sait pas si je suis claire mais j'essaye de voir comment je pourrais réduire la mémoire utiliser par mon application.

    Pour mon point 3 je vais utiliser la méthode décrite sur http://java.sun.com/docs/books/tutor...ents/tree.html dans la section "How to Load Children Lazily". Cela permet d'éviter de charger tout les éléments lors du lancement de l'application.

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Citation Envoyé par shinchun
    Pour mon premier point :
    Est-il possible que si plusieurs utilisateur lance mon application, cette application utilise tjrs la même instance de la jvm(java virtual machine)?
    Je ne sait pas si je suis claire mais j'essaye de voir comment je pourrais réduire la mémoire utiliser par mon application.
    Pour le faire, soit tu travailles à partir d'un script de lancement de l'appli, soit à partir de l'appli elle même.

    Tu as l'air d'être orientée Citrix, donc peut être que la première solution te conviendra mieux. Je ne connais pas cet environnement, mais j'imagine qu'il y a un script ou raccourci ou je ne sais quoi de lancement, à partir duquel tu détectes si le programme java a déjà été lancé ; il faut que ton programme java prenne en compte une sorte de flag pour qu'il sache qu'un nouvel utilisateur intervient ; cela se fait par socket, fichier, ou tout ce que l'on peut imaginer.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    Citrix est une couche supérieur à windows terminal si tu connais. En faite c'est la 1 fois que je dois développez sur un tel environment donc je un novice .
    Merci pour ton aide je vais essayer ce que tu as proposer. Mais j'ai peur que cette solution va posser des problèmes.

Discussions similaires

  1. Utilisation mémoire et optimisation
    Par melleb dans le forum C#
    Réponses: 26
    Dernier message: 14/08/2007, 13h11
  2. Utilisation de la mémoire
    Par jagboys dans le forum MFC
    Réponses: 1
    Dernier message: 12/11/2005, 17h30
  3. [Optimisation] Comment bien utiliser le StringBuffer?
    Par mathieu dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2004, 15h22
  4. [Stratégie][GC] Optimiser la mémoire utiliser
    Par Piolet dans le forum Général Java
    Réponses: 12
    Dernier message: 05/05/2004, 11h51
  5. Utilisation de la mémoire vive....
    Par Neilos dans le forum Windows
    Réponses: 9
    Dernier message: 24/11/2003, 12h09

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