Deuxieme reference ? que se passe t'il ???
Résolu
gacki
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
gacki Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
gacki Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Deuxieme reference ? que se passe t'il ???
- Trousseau mot de passe iphone - Guide
- Deuxieme ecran pc - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
1 réponse
Si tu n'as plus aucune variable qui référence ton objet celui-ci est perdu, tu ne pourra plus y accéder (ce qui est souvent le cas pour les variables locales une fois la méthode terminée).
Cependant Java possède un mécanisme de récupération de la mémoire : le ramasse miettes. Lorsque tu as atteints la taille maximale de mémoire allouée à ton programme, Java appelle le Garbage Collector afin de supprimer de la mémoire tous les objets qui ne servent plus à rien.
Remarques :
1. Lorsque le Garbage Collector supprimes un objet, il appelle d'abord la méthode finalize() définie par la classe Object.
2. Tu peux appeler directement le garbage collector avec la commande System.gc(), cependant c'est une opération assez longue, donc pour des questions de performances il vaut mieux laisser Java l'appeler uniquement quand il faut.
3. Si à l'issue d'un garbage collecting, il n'y a plus aucune mémoire libérable, c'est à dire que tous les objets en mémoire sont encore utilisés. Alors tu te retrouves avec une OutOfMemoryError.
4. Il est parfois utile (dans le cas d'une longue méthode gourmande en mémoire) de mettre une variable à null dès qu'on en a plus besoin, afin d'autoriser le garbage collector à supprimer la mémoire l'objet concerné si le programme a besoin d'espace (par défaut la variable ne sera libérable qu'une fois la méthode terminé)
Cependant Java possède un mécanisme de récupération de la mémoire : le ramasse miettes. Lorsque tu as atteints la taille maximale de mémoire allouée à ton programme, Java appelle le Garbage Collector afin de supprimer de la mémoire tous les objets qui ne servent plus à rien.
Remarques :
1. Lorsque le Garbage Collector supprimes un objet, il appelle d'abord la méthode finalize() définie par la classe Object.
2. Tu peux appeler directement le garbage collector avec la commande System.gc(), cependant c'est une opération assez longue, donc pour des questions de performances il vaut mieux laisser Java l'appeler uniquement quand il faut.
3. Si à l'issue d'un garbage collecting, il n'y a plus aucune mémoire libérable, c'est à dire que tous les objets en mémoire sont encore utilisés. Alors tu te retrouves avec une OutOfMemoryError.
4. Il est parfois utile (dans le cas d'une longue méthode gourmande en mémoire) de mettre une variable à null dès qu'on en a plus besoin, afin d'autoriser le garbage collector à supprimer la mémoire l'objet concerné si le programme a besoin d'espace (par défaut la variable ne sera libérable qu'une fois la méthode terminé)
gacki
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
c'est exactement se que je cherchais merci beaucoup :D