Dot NET 内存泄漏

因为正好解决了手头一个泄漏的问题,正好做个总结。一开始我认为托管代码是不存在泄漏问题的(不使用指针,不操作unsafe的代码) 我想跟我这样想的人应该不少,呵呵。

传统的内存泄漏主要是因为使用后没有释放造成的(维基解释http://en.wikipedia.org/wiki/Memory_leak),而在托管平台下内存的回收是由gc完成,所以托管中出现内存泄漏一般都是因为gc无法分辨对象是否可以被回收造成的,而最常见的就是循环引用,另外委托也是重灾区,4.0中引入的task也成为新的增长点(插播新闻http://news.cnblogs.com/n/124603/)。
(插播新闻:

在我的代码中大量使用了task,造成泄漏是因为我使用了TaskCreationOptions.AttachedToParent,它会保持引用关系而不被回收。

posted @   today4king  阅读(363)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2010-04-01 Oxite 项目结构分析
2010-04-01 .NET程序员必备参考图片
2010-04-01 ASP.NET 页生命周期概述
2010-04-01 ASP.NET Web 服务器控件事件模型
点击右上角即可分享
微信分享提示
主题色彩