继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

知书筱乐
关注TA
已关注
手记 62
粉丝 14
获赞 90

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



打卡截图:

http://img.mukewang.com/635934d2000187bf16080915.jpg


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP