如何理解可终结对象和可处置对象

如何理解可终结对象和可处置对象


如果CLR检测到对象重写了默认析构函数,将会把对象标记为可终结对象。

由于实际运行时垃圾回收器发生两次回收,可终结对象才真正被删除,所以大量使用将影响程序性能。

Dispose()方法不仅可以清理非托管资源代码,还可以与其它托管对象通信。因为Dispose()是显示调用,所以开发者可以自己把握调用的时机

using结构自动调用Dispose()方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 托管资源内存管理机制 .Net中将数据分为两种类型:值数据类型和引用数据类型,这两种数据类型存储在内存中的不同的地...
    FaithXiong阅读 1,339评论 0 1
  • 1. [C#语言基础]请简述拆箱和装箱。 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何...
    胤醚貔貅阅读 4,884评论 1 29
  • 1.使用as或is的优势:如果无法进行转换,则 null 而非引发异常,只需要检查返回的引用是否为null即可,避...
    rabao阅读 369评论 0 0
  • 1. 开发过程 开发过程是错误和缺陷开始的地方。使用工具可以帮助你在发布之后,解决掉一些问题。 编码标准 遵照编码...
    lichengjin阅读 436评论 0 1
  • 这是我第一次参加俱乐部的现金流游戏,多年前玩过这个游戏后就带很多朋友玩,也见证有的朋友通过游戏中的所学在生活中所做...
    减肥教练喻颖阅读 519评论 0 0