日期:2014-05-17  浏览次数:21010 次

关于GC持有的引用和编译器持有的引用!
我们都知道,GC是不能直接对托管堆直接操纵,也是要通过引用去释放垃圾,然后我就不太明白的时,它持有的引用是从哪来的?自己内部随机产生的?如果这样就没有问题了,因为如果持有的引用和编译器一样,那我们平时直接new的,没有声明引用,那不能清楚垃圾了,

------解决方案--------------------
GC就是通过是否有根变量引用对象来判定对象时否为垃圾的。。。至于他是如何判断是否有根变量引用我就不知道了(引用计数?)
------解决方案--------------------
什么叫“编译器持有的引用”?
------解决方案--------------------
看看CLR Via C#,有一章专门讲.NET的内存管理,讲得很详细。