学习课程名称:C#速成指南--从入门到进阶,实战WPF与Unity3D开发
章节名称(序号):15 垃圾回收
讲师姓名:阿莱克斯刘
课程内容:
内存:stack内存,heap内存。
值类型包括struct都是在stack中,引用类型包括string在heap中。
垃圾回收的工作原理:如果一个对象的引用数是0,则表示生命结束。
运行垃圾回收成本比较高,分代回收。
短期组(GC每次都检查),中长期对象(没有引用删除,有引用移动到长期组)长期组(GC偶尔来检查)。
内存不足时,会检查三个组。
垃圾回收不仅仅标记和删除对象,还会压缩内存等。
GC的触发:内存压力大,会有阈值管控,是一个后台线程处理的,每次运行也会消耗资源。
析构方法vs终结器:
手动释放资源一般用Idispose
disposable模式:
.net可以自动管理对象生命周期,GC只能托管资源是指通过new的对象。
外部资源:文件读取,网络访问,数据库连接等需要通过IDisposable接口。
public interface IDisPOSable(){
void dispose();
}
配合using使用,相当于try catch finally。
学习收获:
在处理外部资源的时候,抽象类的时候要实现IDispoable接口,这样可以避免忘记释放资源,造成故障发生。
打卡截图:
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦