Jeśli do obiektu nie odwołuje się żaden inny obiekt, jest on obiektem do pobrania przez moduł zbierający śmieci .NET CLR.W jaki sposób odśmiecanie gromadzi obiekty samoodniesienia?
Jednak jeśli objA
referencje objB
, objB
referencje objC
i objC
referencje z powrotem do objA
, w jaki sposób, że (jako całość) mogą być zbierane postać na śmieciarza?
.NET używa algorytmu [znacznik i przemiatanie (http://stackoverflow.com/questions/2344240/what-is-relacja-between-gc-finalize-and-dispose). –
o tak, poszukaj korzeni, powinienem o tym pomyśleć! – athos
Nie wiem na pewno, ale przypuszczam, że używa jakiegoś rodzaju drzewa, a nic, co nie jest podłączone do głównego drzewa, nigdy nie będzie dostępne z głównego drzewa (przez co mówię kod, który jest obecnie gdzieś w stosie). Nie znam szczegółów, ale teoria wykresów na pewno rozwiąże problem. :) – Chris