熟悉.NET的开发者们应该都知道里面有一个GC.Collect()吧,它的功能就是强制对所有代进行垃圾回收。下面介绍与之相关的几个术语:

何谓代?

代是指托管内存中不同的区域,对象越老位于的代越靠后,比如:第一次垃圾回收后某个对象未被回收,它可能就会从0代移动到1代,以此类推。
何谓垃圾?

垃圾就是只没有任何对象再和他有引用关系,专业点说就是从这个对象开始找其引用,一直找,如果找到它正在引用一个根,那么这个就是不是垃圾,如果找不到根则这个对象就是垃圾。

何谓根?

根就是指一个存储位置,包含指向某个引用类型的指针。比如静态变量,全局变量就是根,当前寄存器里面的对象就是根,还有当前调用栈上的参数,局部变量都是根。

另外,垃圾回收开始的时候当前所有线程都将被挂起,开始收集托管堆上的垃圾,收集完了还要压缩内存,然后等待垃圾回收结束以后再恢复这些线程,从这个角度来说,还是少调用垃圾回收,但是不是不能调,要视情况而定。

GC.Collect()的一般用法如下面源码如示:

......

dpFormulaList.Clear();
dpFormulaList = null;
inputs.Clear();
inputs = null;
GC.Collect();

GC.Collect()简介相关推荐

  1. 内存迟迟下不去,可能你就差一个GC.Collect

    一:背景 1. 讲故事 我们有一家top级的淘品牌店铺,为了后续的加速计算,在程序启动的时候灌入她家的核心数据到内存中,灌入完成后内存高达100G,虽然云上的机器内存有256G,然被这么划掉一半看着还 ...

  2. GC.Collect如何影响垃圾回收

    根据垃圾回收的算法,对象在内存中是按代的方式存放的,通常情况下,当第0代沾满分配的空间的时候(比如是256k),GC就会启动去回收第0代对象,幸存的第0代对象会被放入第1代中去,第1代的对象要等到放满 ...

  3. 关于GC.Collect在不同机器上表现不一致问题

    关于GC.Collect在不同机器上表现不一致问题 2019.1.17,昨天项目更新后策划反应: 游戏卡,表现为:每走几步就卡一下.前天还没有. 但在我本机测试中,却没有任何卡顿感. QC同学的机器也 ...

  4. gc.collect()==>python的强制垃圾收集机制(不建议使用强制回收,因为可能导致错误)

    def collect(*args, **kwargs): # real signature unknown Run the garbage collector. 从内存中释放超出作用范围的变量,不在 ...

  5. 关于c#:GC.Collect()之后是否立即运行垃圾回收?

    用C#写了一个运用ICE组件进行接口通信的服务程序,程序运行很正常,可是在客户端调用ICE接口时出现了大量的数据丢失,而且偶尔还通信不上,服务端最明显的现象就是telnet服务的通信端口时不通(cmd ...

  6. GC.Collect()

    GC.Collect()其功能就是强制对所有代进行垃圾回收 垃圾的产生 class Person{String name; //人员的姓名int age; //人的年龄public void tell ...

  7. python gc模块_Python gc.collect方法代码示例

    本文整理汇总了Python中gc.collect方法的典型用法代码示例.如果您正苦于以下问题:Python gc.collect方法的具体用法?Python gc.collect怎么用?Python ...

  8. python import gc_即使在gc.collect()之后,分配给Python的内存也不会在Linux中释放回来...

    我已经在Python中编写了不会按应有的方式释放内存的代码. 内存由Python占用,但即使不再使用也永远不会释放. 即使您使用ctrl + c中断正在运行的程序. 删除变量并运行gc.collect ...

  9. Unity优化之GC——合理优化Unity的GC (难度3 推荐5)

    原文链接: http://www.cnblogs.com/zblade/p/6445578.html 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =.= 本文续接前面 ...

最新文章

  1. Flink状态后端配置(设置State Backend)
  2. vsphere6.7+Horizon7.8推送桌面遇到的一些问题
  3. 【杂谈】关于数据和模型,初学者极容易忽视的两个问题!
  4. 第一个shell脚本
  5. 深入解析PHP中逗号与点号的区别
  6. View和ViewGroup的层次关系
  7. Android实现打开本地文件,Android 打开本地文件(示例代码)
  8. LinkedHashMap 根据PUT顺序排序Map
  9. libco协程库上下文切换原理详解
  10. 损失层SoftmaxWithLossLayer
  11. linux-vim操作-查找与替换
  12. mysql 1021 disk full_大分区使用xfs文件系统存储备份遇到的问题
  13. 最积阴德的4件事,哪怕做过一件,也会累积大功德!
  14. php 拷贝文件至新目录,如何查找到文件以后,带目录一起拷贝到新的目录? cp --parents source destination...
  15. php 中文日期转时间戳,php日期转时间戳,指定日期转换成时间戳
  16. 医学自然语言处理(NLP)相关论文汇总之 NAACL 2022
  17. UPS电源设备消防与电气安全要求
  18. 14152学年C#程序设计语言与.Net框架基础课程之学生blog名单
  19. 不等距双杆模型_电磁感应的双杆模型——不等距无拉力
  20. C#组件系列——NPOI使用手册

热门文章

  1. 概率论与数理统计——参数估计
  2. 螺线管 Solenoid
  3. js 金额转大写函数
  4. 往期直播:《驴妈妈,基于混合云的OTA行业数据分析、精准运营和大数据用户推荐》...
  5. 在Ubuntu上为Android系统编写Linux内核驱动程序(学习老罗的)
  6. 关于 VMware 磁盘空间 只增不减 问题的解决
  7. 【图形设计】手把手教会绘制思维导图
  8. TCP-Westwood拥塞算法
  9. ubuntu发送使用sendmail发送邮件
  10. 小白如何用C++制作经典网游DNF?C++实战教学!