Deuxieme reference ? que se passe t'il ???
Résolu/Fermé
gacki
Messages postés
109
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
15 mars 2016
-
14 oct. 2013 à 02:19
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016 - 15 oct. 2013 à 22:59
gacki Messages postés 109 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 15 mars 2016 - 15 oct. 2013 à 22:59
A voir également:
- Deuxieme reference ? que se passe t'il ???
- Reference pto - Accueil - Box & Connexion Internet
- Deuxieme ecran pc - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Trousseau mot de passe iphone - Guide
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
14 oct. 2013 à 08:10
14 oct. 2013 à 08:10
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é)
Modifié par gacki le 15/10/2013 à 23:01