垃圾收集器在这种情况下会做什么?

Yan*_*hof 1 .net c# clr garbage-collection c#-4.0

有两种情况我试图了解GC将如何行动

1-有两个对象 - object1和object2 object1对object2有引用,object2对object1有引用现在,这两个对象都没有被使用,GC可以收集它们.

会发生什么?GC会跳过这个系列吗??

2-同样的问题但我们有4个(或n个)对象相互参照.GC会对此案件做什么???

L.B*_*L.B 5

与COM不同,公共语言运行库不使用引用计数来管理对象生存期.相反,垃圾收集器跟踪对象引用并标识通过运行代码无法再访问的对象.

这大大简化了组件编程,因为您不必担心循环引用.如果一组对象包含彼此的引用,但这些对象中没有一个直接或间接地从堆栈或共享变量引用,则垃圾收集将自动回收内存.

http://msdn.microsoft.com/en-us/library/0t81zye4(v=vs.71).aspx