ramasse miette

ramasse miette - Programmation

Marsh Posté le 22-03-2001 à 16:01:23    

quelqu'un pourrait m'expliquer le principe de fonctionnement du ramasse miette de java?

Reply

Marsh Posté le 22-03-2001 à 16:01:23   

Reply

Marsh Posté le 22-03-2001 à 16:08:31    

C'est facile, java enregistre toutes les allocations mémoires que tu fais. Régulièrement en cours d'éxécution il se déclenche et vérifie que les liens sont bons (variable déclarée, bloc mémoire alloué). Si ça n'est pas le cas il vide les blocs mémoires associés.
 
En principe tu dois pouvoir forcer le garbage collector en affectant à null des objets. A son prochain passage il fera le ménage.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 22-03-2001 à 16:59:12    

Comme le dit si bien Toxin, la machine virtuelle utilise des pointeurs "intelligents" avec compteur de référence intégré. Au passage du Garbage Collector les emplacements mémoire marqués comme plus référencés sont vidés et à nouveau disponibles.

Reply

Marsh Posté le 22-03-2001 à 17:11:12    

Et dire que je ne code même pas en Java :D
C'est bô les souvenirs de doc lues il y a 3 ans :D


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 22-03-2001 à 17:51:09    

la garbage collector peut-il faire planter java.exe ?

Reply

Marsh Posté le 22-03-2001 à 17:53:26    

lulu77fr a écrit a écrit :

la garbage collector peut-il faire planter java.exe ?




 
Normalement non, mais comme chacun sait on vit dans the real world :D

Reply

Marsh Posté le 22-03-2001 à 18:56:54    

Non. J'utilise Java intensivement et c'est quelque chose que je n'ai jamais observé.
 
Par contre, mon équipe de développement a détecté un bug dans le GC (le "glaneur de cellules" ;) ) de la dernière version de HotSpot.
 
Quand on a 2 weak references sur 2 objets O1 et O2, et que O1 pointe sur O2, il arrive de temps en temps (observé 2 fois sur 500 000 avec un test intensif) qu'O2 soit garbagé alors qu'O1 ne l'est pas encore. Si, pour une raison ou pour une autre, on accède alors à O1, on peut essayer d'atteindre un objet théoriquement atteignable (O2) mais déjà supprimé par le GC...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed