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

avec Java Discussion :

Supprimer des objets créés


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Supprimer des objets créés
    Bonjour,

    Comment peut-on éliminer des objets créés dans un programme Java ?
    Je sais que la destruction se fait d'une maniere automatique mais j'aimerais gérer les objets et les éliminer après ne pas avoir satisfait à une condition.

    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Comme tu l'as toi même dit, la libération de la mémoire occupée par les objets est automatique en Java. Elle est prise en charge par le Garbage Collector. Le GC détruit l'espace mémoire des objets sur lesquels il n'y a plus de références. C'est la JVM qui se charge de lancer le GC.

    Tu peux explicitement demander une exécution du GC via la méthode System.gc(), mais ce n'est généralement pas conseillé. Il vaut mieux laisser la machine virtuelle Java faire son travail comme elle l'entend.

    Si tu as besoin d'une gestion plus fine de la mémoire, il faut peut-être te tourner vers un langage où sa gestion est manuelle, telle que le C ou le C++.

    Il y a une raison particulière pour laquelle tu veux libérer la mémoire occupée par ton objet à un moment précis ? Tu peux décrire le cadre dans lequel ton problème intervient ?
    Dernière modification par Laurent.B ; 30/10/2012 à 14h31. Motif: vu

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut reponse
    J'aimerais créer une méthode qui va me permettre de calculer des pourcentages, si le nombre des voix électorales d'une certaine liste est inférieure à 5 %, j'élimine cette liste.

  4. #4
    Membre éprouvé Avatar de I_believe_in_code
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 219
    Points : 1 043
    Points
    1 043
    Par défaut
    Ou sont stockées les listes en question ? Dans un tableau ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut reponse
    oui dans un tableau

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne sais pas si tu utilises des objets de collections comme ArrayList ou Vector, mais si ce n'est pas le cas, je te conseille de les utiliser.

    Dans ce cas il te suffit juste d'appeler la méthode "remove(Object o)".

    Il faut bien comprendre que tes variables ne sont pas tes objets mais des références sur tes objets. Dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object ref = new Object();
    Object otherRef = ref;
    ref et otherRef sont deux références sur une même zone mémoire.
    L'objet proprement dit est donc référencé par ref et otherRef. Si tu fais ça :
    tu ne fais que supprimer la référence ref sur l'objet, et il n'y a plus qu'une référence dessus, qui est otherRef. Quand il n'y a plus de références sur un objet, celui ci sera détruit au prochain passage du Garbage Collector.

    Donc si tu as un élément que tu veux supprimer dans une liste, le fait de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maListe.remove(monElement);
    supprime monElement de ta liste. Si monElement n'est pas référencé par ailleurs, il sera supprimé dans le prochain passage du Garbage Collector.

    J'espère être clair.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut REPONSE
    merci beaucoup

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

Discussions similaires

  1. Supprimer des objets dans un GUI
    Par Flashget dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 22/03/2007, 10h45
  2. Réponses: 5
    Dernier message: 06/03/2007, 15h03
  3. Réponses: 20
    Dernier message: 18/06/2006, 11h44
  4. Comment supprimer des objets
    Par akrobat dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 17/06/2006, 11h48
  5. Réponses: 9
    Dernier message: 31/05/2006, 11h56

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