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 :

[JVM]Comment obtenir les objets en mémoire ?


Sujet :

Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut [JVM]Comment obtenir les objets en mémoire ?
    Bonjour,

    Je cherche un moyen pour obtenir l'ensemble des objets en mémoire pour une classe donnée.
    Ou même pour pas de classe du tout si possible, mais si déjà je peux avec le nom de la classe se serait super.
    D'avance merci.

  2. #2
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Si tu n'as pas eu de réponse, c'ets peut-être que la question n'a pas été comprise...
    Le nombre d'objets en mémoire ??
    C'est ton code qui instancie les objets, donc tu dois pouvoir répondre à ta question, non ?

    Tu veux savoir la quantité de mémoire utilisée par ton appli ?
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  3. #3
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    bonjour,
    ben tu declare un entier static dans ta classe et dans chaque constructeur tu fais un += 1.

    Par contre il faudra decrémenter ce compteur a chaque fois qu'est objet et coolecté par le garbage du meme nom . Et oui, a moins qu'on ne puisse simuler un destructeur, comme en C++ par exemple (la on simule pas faut le faire ).

    C'est une piste...
    "vaste programme"

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Voilà alors là effectivement, vous me proposez quelque chose qui modifie le code.
    J'aimerai faire ,comme les Optimize it , et autre profiler, ie récupérer le nombre d'instance d'une classe qu'il y a dans le ClassLoader d'une JVM ( en mémoire donc ).
    Je n'ai pas envie de modifier le code , cela n'a aucun intérêt, et en plus il ne faudrait pas que j'en oublie.
    Et au fait, comme vous avez tout les deux compris ma question, c'est quelle est claire 8) .
    Pour information , pour savoir si un objet est détruit par le garbage, il existe la méthode 'protected void finalize() throws Throwable' qui permet de libérer ton objet correctement.
    Donc je cherche simplement à faire comme les profilers, je me disais que cela devait être facile.

  5. #5
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Je crois que dans le nouveau JDK (5.0) il existe une API qui permet d'acceder à ce genre d'info. Maintenant le nom de l'API.....
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par ze_key
    Je crois que dans le nouveau JDK (5.0) il existe une API qui permet d'acceder à ce genre d'info. Maintenant le nom de l'API.....
    Le nom ne serait-il pas JMX ? Regarde du côté de java.lang.management.
    Bien le bonjour chez vous
    Jowo

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Ok merci pour l'infos.
    Il est vrai que pour l'instant , je ne peux pas m'en servir, puisqu'encore en jdk 1.4.2 , mais bon cela devrait bientôt changer.
    En tout cas merci pour l'information.Je chercherais de ce côté.

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/05/2008, 02h06
  2. [gcc/ld] comment "zapper" les objets non référéren
    Par jula dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 05/01/2006, 15h15
  3. Comment obtenir les les fichier d'un répertoire
    Par Xavier dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/11/2005, 19h05
  4. Réponses: 5
    Dernier message: 19/07/2005, 21h54
  5. Comment obtenir les Handles des boutons systèmes de Windows ?
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 22/12/2004, 22h20

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