.NET 的垃圾回收器管理应用程序的内存分配和释放。 每次创建新对象时,公共语言运行时都会从托管堆中为对象分配内存。 只要托管堆中提供了地址空间,运行时将继续为新对象分配空间。 但是,内存不是无限的。 垃圾回收器最终必须执行垃圾回收来释放一些内存。 垃圾回收器的优化引擎根据要进行的分配来确定执行回收的最佳时间。 当垃圾回收器执行回收时,它会检查托管堆中不再被应用程序使用的对象,并执行必要的操作来回收其内存。
本部分内容
标题 | DESCRIPTION |
---|---|
垃圾回收的基础知识 | 描述垃圾回收的工作原理、如何在托管堆上分配对象和其他核心概念。 |
工作站和服务器垃圾回收 | 介绍客户端应用的工作站垃圾回收与服务器应用的服务器垃圾回收之间的差异。 |
后台垃圾回收 | 描述了后台垃圾回收,它是在进行第二代回收时对第 0 代和第 1 代对象的回收。 |
大型对象堆 | 描述了大型对象堆 (LOH) 及其垃圾回收方式。 |
垃圾回收和性能 | 介绍了可用来诊断垃圾回收和性能问题的性能检查。 |
已引发回收 | 介绍如何进行垃圾回收。 |
延迟模式 | 描述确定垃圾回收侵入性的模式。 |
共享 Web 托管的优化 | 介绍如何优化多个小型网站的共享服务器上的垃圾回收。 |
垃圾回收通知 | 介绍如何确定完整垃圾回收何时接近以及何时完成。 |
应用程序域资源监视 | 介绍如何监视应用程序域的 CPU 和内存使用情况。 |
弱引用 | 介绍允许垃圾回收器收集对象的功能,同时仍允许应用程序访问该对象。 |
参考文献
- System.GC
- System.GCCollectionMode
- System.GCNotificationStatus
- System.Runtime.GCLatencyMode
- System.Runtime.GCSettings
- GCSettings.LargeObjectHeapCompactionMode
- Object.Finalize
- System.IDisposable