垃圾收集器:通过引用单例来处理对象
Garbage Collector: Taking care of object with a reference to singleton
想象一下这样的情况:你有一个单例对象和一个 class,它有一个指向这个单例的字段
public class MyClass
{
private readonly MySingleton singleton = MySingleton.Instance;
...
}
现在您有了一个 WebApi 控制器,并且在每个请求中您都在创建 MyClass 类型的新对象。
我的问题是:这样的物体会发生什么?当请求结束时,它会被垃圾收集器删除吗?还是会一直挂在内存中直到单例被回收?
如果这是一个愚蠢的问题,请原谅我,但我很好奇。
如果没有真正会固定您的对象的依赖项,它将被收集。那里只有对 Singleton 对象的引用。
如果 Singleton 以某种方式保留对您的控制器的引用,那么您的控制器将保留在内存中。
想象一下这样的情况:你有一个单例对象和一个 class,它有一个指向这个单例的字段
public class MyClass
{
private readonly MySingleton singleton = MySingleton.Instance;
...
}
现在您有了一个 WebApi 控制器,并且在每个请求中您都在创建 MyClass 类型的新对象。
我的问题是:这样的物体会发生什么?当请求结束时,它会被垃圾收集器删除吗?还是会一直挂在内存中直到单例被回收?
如果这是一个愚蠢的问题,请原谅我,但我很好奇。
如果没有真正会固定您的对象的依赖项,它将被收集。那里只有对 Singleton 对象的引用。
如果 Singleton 以某种方式保留对您的控制器的引用,那么您的控制器将保留在内存中。