垃圾收集器和静态类,变量

自从过去几天以来,有一点在我的脑海中浮现。 我想知道垃圾收集器如何使用静态类,变量?

众所周知,垃圾收集器会跟踪已在应用程序中创建的对象,并在不再使用时自动将其删除。 对于静态类,不会创建任何对象,并使用应用程序调试将其加载到内存中。

那么垃圾收集器处理静态类?

静态类不需要被删除,因为它们不是对象,并且它们不消耗内存(除了.NET基础结构加载的实际类代码之外)。 另一方面,静态类中的静态字段是消耗内存的对象。 它们不会被收集,因为它们可以在应用程序的整个生命周期内访问。 如果要释放内存,则应将该字段设置为null,以便该字段指向的对象符合GC的条件

他永远不会释放他们。 (例如在WEB中直到重启IIS)。

他们永远不会说:“没有人引用我,所以我可以自由地去”

你永远不能对静态类做新的….所以它的用法仅仅是Class对象(而不是实例)。

因此.net没有任何机会并将其保留在GC之外。