为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第3天 垃圾回收

标签:
C#

学习课程名称: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接口,这样可以避免忘记释放资源,造成故障发生。



打卡截图:

https://img1.sycdn.imooc.com//635934d2000187bf16080915.jpg


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消