美文网首页
托管堆和垃圾回收

托管堆和垃圾回收

作者: 紫笛_AutoCoder | 来源:发表于2019-03-04 12:56 被阅读0次

【1】基于代的垃圾回收

频繁回收第0代,不怎么使用第1代, (一共有3代。0-2)

【2】大对象和小对象

大于约80MB的数据,称为大对象。常见的比如 大字符串,比如XML,json  或者用于IO操作的字节数组(比如从文件或网络将字节读入缓冲区以便处理)

【3】强制手动释放(不推荐)

collect

finalize(用来释放本机资源,文件,网络连接,套接字,互斥体)

dispose  写文件io时候,微软强调要手动释放,显式调用Dispose

--------------------------------------------------------------------------------------------------------------------------------------

需要明确一下 C# 程序(或者说 .NET)中的资源。简单的说来,C# 中的每一个类型都代表一种资源,而资源又分为两类:

托管资源:由 CLR 管理分配和释放的资源,即由 CLR 里 new 出来的对象;

非托管资源:不受 CLR 管理的对象,Windows 内核对象,如文件、数据库连接、套接字、COM 对象等;

毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口 IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的 Dispose 方法。

---------------------

作者:walter lv

来源:CSDN

原文:https://blog.csdn.net/WPwalter/article/details/80820774

版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

  • 托管堆和垃圾回收

    【1】基于代的垃圾回收 频繁回收第0代,不怎么使用第1代, (一共有3代。0-2) 【2】大对象和小对象 大于约8...

  • C++/CLI中的确定性垃圾回收与mdl.net中Element

    C++/CLI中的确定性垃圾回收 托管语言中自动垃圾回收导致回收的时机是不确定的,只有托管C++实现了确定性的回收...

  • 【问答】Java虚拟机

    垃圾回收机制,不可达算法 垃圾回收就是对内存堆中已经死亡和长时间没使用的对象进行清除和回收,释放垃圾占用的空间,防...

  • JVM垃圾回收策略

    本文将分析JVM的垃圾回收策略,哪些内存需要回收和如何回收的问题。 哪些内存需要回收 垃圾收集器在对堆进行回收前,...

  • VM术语词汇表

    垃圾回收(GC) 垃圾收集Garbage collection是搜索堆以查找和回收应用程序不再使用的“dead”内...

  • 垃圾回收

    垃圾回收一共分两种:栈中的垃圾回收和堆中的垃圾回收 栈中的垃圾回收 JS 引擎有一个记录当前执行状态的指针,称为 ...

  • 托管堆垃圾回收-GC的回收原理及回收方式

    在了解GC之前,我们应该先了解一下,线程栈和进程堆;堆 Heap: 进程堆,一个程序在运行时,进程对方引用类型变量...

  • JVM垃圾回收机制

    JVM垃圾回收机制 回收步骤 问题 垃圾标记算法 回收对象:堆中的对象 1.引用计数法 1.1 定义: 堆中的...

  • 请简述 JVM 垃圾回收原理

    请简述 JVM 垃圾回收原理答:一、定义:垃圾回收是对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,目...

  • JVM-垃圾收集--标记(回收标准判定)

    垃圾收集的是哪个问题: 判断是否需要回收 回收时机 回收方法 需要垃圾收集的区域:方法区和堆区。因为栈、程序计数器...

网友评论

      本文标题:托管堆和垃圾回收

      本文链接:https://www.haomeiwen.com/subject/dgjbuqtx.html