VC++2005 的确定性资源的学习
来源:互联网 发布:如何学习网络知识 编辑:程序博客网 时间:2024/04/29 16:24
VC++2005 的确定性资源的学习
在托管和非托管同时存在的时候,如何清理资源是一个很值得学习的方面,学习好这个问题可以帮助我们更好的理解.Net。
1、两大类资源——托管内存,非托管资源
托管内存:托管堆上的内存空间
非托管资源:本地堆内存,文件句柄,数据库链接,网络链接,GDI设备句柄……
在.Net环境下,垃圾回收机制解决了内存泄漏的问题,也就是说内存资源的管理不需要程序员在过多的费心了,而资源的管理却无法靠垃圾回收来管理,主要原因是因为垃圾回收的即时性很低,对于一些重要的资源,比如数据库链接,网络链接,文件等重要的资源,靠垃圾回收机制会存在很多的问题。
2、Finalize和Dispose
Finalize和Dispose 用于处理一些资源的释放工作,Finalize在垃圾回收的时候会被垃圾回收器自动调用,而Dispose一般由程序员调用。在Vc++ 2005 中,语法上 !ClassName(){} 表示Fianlize,而 ~ClassName(){}表示Dispose。 对于栈式对象,当超过其生命期的时候会自动调用Dispose,而堆式对象则不会自动调用Dispose。
3、所有ref class都是位于托管堆上的,尽管有些对象从语法上是堆式,有些是栈式。
4、VC++2005 中Destructor中编译器自动调用了System.GC::SuppressFinalize,但是C#中默认不会自动调用。
5、追踪句炳,是托管堆上的指针,跟随托管堆的变化而变化。
- VC++2005 的确定性资源的学习
- 学习VC的资源
- 不规则网络上的确定性路由算法
- VC++学习的一些资源
- VC++ 学习资源
- 一种适合32位机器数的确定性素数判定法(原创论文)
- VC学习资源,共同进步(转)
- 未来处于未知之中,每一次选择就是一次对人生未知部分的解码,选择之后人生的确定性增强而不确定性减弱,当所有未知褪去,人生也就瓜熟蒂落。
- VC++学习_1_学习资源与书籍
- 定性研究的小技巧与注意事项!
- 判定性统计问题的启发
- Laplacian矩阵的半正定性
- 基于OpenCv的定性矩形识别
- 定性数据的描述性分析
- VC程序资源的替换
- VC自定义资源的使用
- VC中"资源定制"学习手记
- VC资源
- bcb 控制excel
- 用C#生成随机中文汉字验证码的基本原理
- ASP.NET设计网络硬盘之两重要类
- Windows与Linux比较:相似与不同
- 用例建模上的用户接口逻辑
- VC++2005 的确定性资源的学习
- 爱上一座城
- VC6中使用STLPort 5.1
- 写在论文答辩之后
- 双绞线的制作
- 豆豆的软件生活——创刊号
- VB实现AES(Rijndael)加密的方法
- BIOS问答
- 1.1程序框架