黑马程序员技术交流社区
标题:
都有哪些类需要Dispose()释放资源?
[打印本页]
作者:
黑马-金鑫
时间:
2012-9-8 19:18
标题:
都有哪些类需要Dispose()释放资源?
除了SqlConnection SqlCommod Stream 还有哪些需要手动释放资源?
作者:
许庭洲
时间:
2012-9-9 12:47
using(SqlDataReader rdResult = SqlCommand.ExecuteReader())//表明SqlDataReader 也需要手动释放资源
作者:
李京
时间:
2012-9-9 15:59
调用Dispose可以手动释放资源,你可以在Dispose中释放你的资源。
这样并不是说资源已经释放掉了,而是告诉Net的垃圾回收机制,这些资源需要释放,具体的释放工作还是垃圾回收机制来做。
如果不调用Dispoe,net无法明确的知道是否要释放你的资源,这样在资源的释放上会有延迟。当然资源最终还是会被释放掉的。
在CLR收集垃圾之前,你还可以可以利用Dispose()方法做一些其他事情,比如关闭数据库连接,关闭文件流等等
这里我感觉你对dispose的理解有点误差。
我感觉dispose是明确告诉.NET哪些东西没有用需要回收,而不是利用这个方法去回收.NET不去回收的东西。
个人意见啊,欢迎讨论。
作者:
吴瑞祥
时间:
2012-9-9 16:01
应该是用NEW运算符生成的空间,都需要吧
作者:
iamheima
时间:
2012-9-10 23:54
实现了IDisposable接口的都需要自己手动释放。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2