引用:
|
作者: sjinny 但是,我只能得到一个对象被启用的时机(构造函数),但是我却得不到一个对象被弃用的时机,而其他技术和gc的很大的一个区别就是能够得到弃用时机(析构函数)。如果gc里的析构函数是可用的,那么得到的也只是对象被销毁的时机,而不是“不再被需要的时机”。 |
不是所有对象你都希望知道它的销毁时机的,对一你希望知道的,就用using/Dispose就是了。而dtor/delete显示管理就强制你必须知道销毁时机,实际上减少了你的选择。
引用:
|
作者: sjinny gc首先就因为延后释放而不适宜用于管理其它资源。如果gc不能提供一个通用的资源管理能力,那么只会使资源管理复杂化。 |
gc也没说普遍适用于所有类型的资源管理啊。唯有如此才能做针对性的优化。资源太广泛了。内存管理就是内存管理,和打印机管理,硬盘管理,文件管理有一定的联系但各有特点。
就说内存,现代的gc也很复杂,对象分代,大对象自己有存储区域,并不是一个“优雅而通用”,写出来才几行的算法。
引用:
|
作者: sjinny 这时如果在for循环之外使用running,那么编译会报错。 |
over engineering. 不要觉得别人都看不懂code. 不然就一个人写不出这么多程序的。