【发布时间】:2011-02-01 07:59:57
【问题描述】:
忽略不安全的代码,.NET 不会有内存泄漏。我从许多专家那里读了无数遍,我相信这一点。但是,我不明白为什么会这样。
据我了解,框架本身是用 C++ 编写的,而 C++ 容易出现内存泄漏。
- 底层框架写得这么好,绝对没有内存泄露的可能吗?
- 框架的代码中是否有一些东西可以自我管理甚至治愈它自己的潜在内存泄漏?
- 我还没有考虑其他答案吗?
【问题讨论】:
-
请向任何“专家”发布链接,指出 .NET 框架(或 any 语言中的 any 框架)不可能拥有内存泄漏。我需要给那个人写一封电子邮件。
-
@Shaggy Frog:请参阅下面的答案。这并不是说 .NET Framework 完美无缺或不会泄漏。该问题的答案取决于在框架源代码内部完成的经典内存分配/释放与在处理引用方面由框架完成的内存管理之间的区别.这大概是总结的太简单了,但是下面有很多精彩更完整的解释。
-
我只是在阅读您目前所说的问题:“忽略不安全的代码,.NET 不会有内存泄漏。我从许多专家那里读到了无数遍,我相信这一点。”框架有得到修复的错误,这就是更新的原因。再说一次,我会说我有兴趣阅读其中一些“专家”意见,所以请发布此类链接。
标签: .net memory-leaks