bonjour, dans un projet je doix realiser un garbage collector, j ai cru comprendre qu'il y a plusieurs algorithme, lequel me conseillez vous ???
Merci
Version imprimable
bonjour, dans un projet je doix realiser un garbage collector, j ai cru comprendre qu'il y a plusieurs algorithme, lequel me conseillez vous ???
Merci
Tu peux donner plus de d�tails ?
Qu'est-ce que tu as d�j� fait ? Qu'as-tu lu sur le sujet ?
Alors voila je sais que pour creer un grabage collector, il y a deux phase,
1 il faut trouver les objets inutilis�s
2 r�cuperer l espace lib�r� par construction d'une liste ou par copie
le truc c est que je ne sais pas comment commencer ???
Tu peux commencer par regarder comment fonctionne le garbage collector de java....
Il sagit de partir des "threads"...
Chaque thread a une liste de reference (dans la pile), tous ces objets sont marqu�s "utilis�s"
De m�me ces objets utilisent des r�f�rences sur d'autres objets qui sont a leur tour marqu�s "utilis�s".
Ensuite, tu peux peaufiner... � la mani�re de Java avec les classes qui h�ritent de "Reference", (WeakReference, PhantomReference, SoftReference).
Je suis oblig� d'�crire le code
:google2: est particuli�rement volubile sur le sujet...
Pour commencer:
http://fr.wikipedia.org/wiki/Ramasse-miettes
La liste des liens externe te fera tomber en peu de temps sur:
http://www.memorymanagement.org/articles/recycle.html
Et en peu de temps �galement sur:
http://www.cs.kent.ac.uk/people/staf....html#Software
Bon lecture et bon courage ! :)
Les algorithmes de base c'est mark and sweep et stop and copy.
C'est relativement simple � coder, � moins que tu tiennes � avoir une version incr�mentale ou pire, concurrente.
Apr�s le fin du fin c'est de faire deux g�n�rations, une avec stop and copy pour les objets jeunes et l'autre avec mark and sweep pour les objets vieux.
Tu peux aussi tenter de d�placer les donn�es pour �viter la fragmentation, mais c'est assez probl�matique ce genre de trucs.
Merci d'avoir donn� les noms des algorithmes d�crits dans la version am�ricaine de wikipedia... Aucun int�r�t dans la discussion en cours.
Un bon ouvrage sur le sujet est celui de Richard Jones : Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Si tu as une biblioth�que technique bien fournie � deux pas de chez toi, c'est une excellente lecture.
Thierry
Oui enfin mark and sweep c'est suffisamment trivial que y'ait pas besoin de support (livre ou autre).
Tu parcours le graphe en marquant les �l�ments que tu vois. Puis tu parcoures lin�airement les blocs, et ceux qui sont pas marqu�s peuvent �tre lib�r�s.