什么是GC,GC是什么意思?为什么要有GC?

Dianping达人0459 2021-09-19 09:08 406 次浏览 赞 85

最新问答

  • 小二2004

    为什么要有GC? 首先JA和ASP.NET都有GC 回收 (garbage collection, GC) 一个过程,它传递性地指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此过程中未找到的任何堆内存。公共语言运行库回收器还压缩使用中的内存,以缩小堆所需要的工作空间 因为你没有足够多内存,并且,你挺懒,不去自己清理内存,所以就有了 GC 什么是GC GC的全称是garbage collection,中文名称回收,是.net中对内存管理的一种功能。回收器并回收托管内存中分配的对象,定期执行回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。 在进行回收时,回收器回首先搜索内存中的托管对象,然后从托管代中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起。这就是GC的四个步骤。 由上可见,GC是很影响性能的,所以一般说来这种事情况还是尽量少发生为好。 为了减少一些性能影响,.net的GC支持对象老化,或者说分代的概念,代是对象在内存中相对存现时期的度量单位,对象的代数或存现时期说明对象所属的代。目前.net的回收器支持三代。每进行一次GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。

    浏览 227赞 88时间 2023-08-02
  • 紫竹幽阁Nina

    GC:回收

    浏览 364赞 57时间 2022-04-11

什么是GC,GC是什么意思?为什么要有GC?