--LIBERATION MEMOIRE-- Garbage collector - Java - Programmation
Marsh Posté le 09-04-2003 à 14:29:25
oui. j'ai pas vraiment d'arguments, mais je vois pas en quoi une liste chainée ne serait pas ramassable...
Marsh Posté le 09-04-2003 à 14:38:11
ba un vector c un tableau(une liste chainee pour etre exact) avec des references d objets.. on est dakor et admettons tu finis une methode ki a cree un vector et tu ne libere pas les objets kil pointe (en les mettant a null) ou tu ne libere pas le vector.. ba kes kil fait?!!! il degage le vector et il laisse les objetcs pointee?? ou vu ke le vector contient des objets non null, il le laisse en memoire?!
tu vois mieux le probleme??
Marsh Posté le 09-04-2003 à 14:41:38
Heu, non. tu t'embrouille pour rien là !
J'crois qu'un garbage collector, en très très gros, ça détruit les Instances non référencées (chaque instance dispose d'un compteur de références !?). Bref, à mon avis, que une référence soit stockée à un indice d'un tableau ou dans une variable, ça revient exactemetn au même.
Je précise que je suis pas sur ce que je dit, donc c à prendre avec des pincettes !
Marsh Posté le 09-04-2003 à 14:42:47
bon, déja essaye d'utiliser des mots complets, ca facilitera surement la compréhension a la lecture. merci.
sinon pour reprendre ton exemple, tu as un object (le vecteur) qui contient des réferences vers d'autres objets. Jusque la on est d'accord.
la quand tu dis ne pas libérer les objets contenus, il faut voir une chose : sont-ils référencés par le vecteur uniquement, ou ailleurs aussi ?
s'ils sont réferencés uniquement par le vecteur, tout est dégagé. Sinon, le vecteur est dégagé, et les objets encore reférencés sont conservé (encore heureux)
Marsh Posté le 09-04-2003 à 14:43:00
Bin ton object Vector est un attribut d'un object quelconque. Tant que cet objet ne fait pas un = null explicite rien ne se passe. Lorsque l'objet est détruit le vector est libéré et toutes les références sur les objects
Si ces objets n'ont plus de références ils sont également détruit.
Est ce clair?
Marsh Posté le 09-04-2003 à 14:44:07
El_gringo a écrit : (chaque instance dispose d'un compteur de références !?) |
vaut mieux éviter, c'est un bordel monstrueux ca.
Sujet a lire :
http://forum.hardware.fr/forum2.php3?post=23900&cat=10
Marsh Posté le 09-04-2003 à 14:53:21
bloodfire29 a écrit : pitite question, kkun sais (avec de bons arguments) si le garbage collector libere les vectors(car c es tune liste chainee) et sur koi il se base pour le faire?? |
J'ai d'excellents arguments pour te dire que c'est certain qu'il les libere, je vois meme pas pourquoi tu pose cette question precisement sur les listes chainees : il sait pas ce que c'est.
Il se fonde sur leur utilisation, si c'est pas utilise et qu'il a besoin de la place, il jette.
edit baser/fonder
Marsh Posté le 09-04-2003 à 16:15:30
bloodfire29 a écrit : le monde est pti, hein nico! |
des mick, j'en connais 5, tu pourrais au moins me donner une ville ?¿?
Marsh Posté le 10-04-2003 à 17:01:16
bloodfire29 a écrit : pitite question, kkun sais (avec de bons arguments) si le garbage collector libere les vectors(car c es tune liste chainee) et sur koi il se base pour le faire?? |
Sinon, y'a un superbe lien sur les GC dans le wiki de cassoulet.
Marsh Posté le 14-04-2003 à 16:01:13
nraynaud a écrit : |
oue mais c pas mick c mik! tention!!
mais c bon tu c ki je suis depuis :-) t as demande aux autres de la promo
Marsh Posté le 09-04-2003 à 14:26:05
pitite question, kkun sais (avec de bons arguments) si le garbage collector libere les vectors(car c es tune liste chainee) et sur koi il se base pour le faire??
merci d avance au specialistes!