我的.NET Windows服务应用程序存在内存泄漏的问题。因此,我开始阅读有关.NET中的内存管理的文章。我在Jeffrey Richter的一篇文章中发现了一个有趣的做法。这个做法叫做“对象复活”。它看起来像是把初始化全局或静态变量的代码放在“this”中:
protected override void Finalize() {
Application.ObjHolder = this;
GC.ReRegisterForFinalize(this);
}
我知道这是一种不好的做法,但我想了解使用这种做法的模式。如果你知道任何模式,请在这里写下来。
protected override void Finalize() { ... }
的表示法。必须使用~NameOfClass() { ... }
来定义终结器。 - Jeppe Stig Nielsen