日期:2014-05-20  浏览次数:20981 次

当一个单例模式的对象长久不用时,会不会被.NET的垃圾回收器回收
当一个单例模式的对象长久不用时,会不会被.NET的垃圾回收器回收,貌似JAVA不会回收,不知道C#中会不会回收,求大神解决
------最佳解决方案--------------------
如果是单例,应该是static对象,那样直到程序关闭才回收
------其他解决方案--------------------
静态成员的生命周期是,程序初始化时被分配,直到程序退出前才被释放。

回答你的问题:
不会被回收,因为你即为单例,就肯定有  静态成员。
当GC去回收资源的时候,发现你个对象存在静态成员,就不会回收。
------其他解决方案--------------------
2种可能,可能被回收也可能没被回收。
想确定被回收旧用GC
------其他解决方案--------------------
静态对象,只有程序关闭才会被回收。
------其他解决方案--------------------
只有WeakReference引用的对象才有可能被回收,否则只要有引用存在就不会被回收
------其他解决方案--------------------

新版的表情好大啊 
------其他解决方案--------------------
GC对程序是透明的,因此也就是说程序中永远你也看不到GC回收了对象,对程序员来说,你仿佛在使用一个无限大内存空间的计算机,并且根本没有GC的存在。
------其他解决方案--------------------
引用:
GC对程序是透明的,因此也就是说程序中永远你也看不到GC回收了对象,对程序员来说,你仿佛在使用一个无限大内存空间的计算机,并且根本没有GC的存在。

我怎么感觉你再扯淡?
------其他解决方案--------------------
程序不关闭,就不会被回收。
------其他解决方案--------------------
可以用iisreset 重新启动应用程序回收
------其他解决方案--------------------
CS 中程序关闭时候对象被回收,
BS中 IIS的应用程序池重启时,也会被回收...