程序结构就像这样
public class SampleClass {
private final MyLogger logger = new MyLogger();
// other logic
}
MyLogger引用了一个会话范围的单例控制台对象:
public class MyLogger{
private Console console;
// other logic
}
有多个类具有此类最终MyLogger引用。记录器对象引用的Console对象是会话范围的单例,这意味着所有这些类都在会话中的同一控制台对象上打印。当会话结束时,我是否需要为这些记录器实例将控制台设置为null?也就是说,如果我不做任何事来处理这些记录器,控制台对象是否会被垃圾收集而没有太多延迟?