C#回收机制
2015-09-22 15:57
302 查看
理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理、程序集加载、安全性、异步处理和线程同步。
CTS(Common Type System)通用类型系统,它把.Net中的类型分为2大类,引用类型与值类型。.Net中所有类型都间接或直接派生至System.Object类型。所有的值类型都是System.ValueType的子类,而System.ValueType本身却是引用类型。
托管资源:
由CLR管理的存在于托管堆上的称为托管资源,注意这里有2个关键点,第一是由CLR管理,第二存在于托管堆上。托管资源的回收工作是不需要人工干预的,CLR会在合适的时候调用GC(垃圾回收器)进行回收。
非托管资源:
非托管资源是不由CLR管理,例如:Image Socket, StreamWriter, Timer, Tooltip, 文件句柄, GDI资源, 数据库连接等等资源(这里仅仅列举出几个常用的)。这些资源GC是不会自动回收的,需要手动释放。
CTS(Common Type System)通用类型系统,它把.Net中的类型分为2大类,引用类型与值类型。.Net中所有类型都间接或直接派生至System.Object类型。所有的值类型都是System.ValueType的子类,而System.ValueType本身却是引用类型。
托管资源:
由CLR管理的存在于托管堆上的称为托管资源,注意这里有2个关键点,第一是由CLR管理,第二存在于托管堆上。托管资源的回收工作是不需要人工干预的,CLR会在合适的时候调用GC(垃圾回收器)进行回收。
非托管资源:
非托管资源是不由CLR管理,例如:Image Socket, StreamWriter, Timer, Tooltip, 文件句柄, GDI资源, 数据库连接等等资源(这里仅仅列举出几个常用的)。这些资源GC是不会自动回收的,需要手动释放。
相关文章推荐
- C#回收机制
- C#根据当前时间获取,本周,本月,本季度等时间段
- C# 如何获取某个类型或类型实例对象的大小
- C# Excel 读取为Datatable
- C#中的委托与事件详解<个人总结>
- C#中的委托与事件详解<个人总结>
- 【转】C# 取要保存文件的对话框 SaveFileDialog
- C# TextBox 只能输入数字
- C#字符补位
- 判断中文字符的八种方法C#
- C# 判断输入的字符串是否只包含数字和英文字母
- (C# Debug)A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
- C#实现RSA加密与解密、签名与认证
- C# 中 textBox 侧面滑条 属性
- C#路径,文件,目录及IO常见操作汇总
- C#中的委托 Delegate(委托 也叫代表,代表一类方法)
- c#中如何截取Windows消息来触发自定义事件
- C#/Net代码精简优化技巧(3)
- C#/Net代码精简优化技巧(1)
- C#中的抽象方法和虚方法有什么区别?