是否从未引用的对象创建了任何垃圾?
我想到的例子是使用静态工厂方法创建一个对象,然后让该对象执行一个函数,但从不创建对它的引用.
例如:
LoggerFactory.getLogger(Foo.class).info("logging some stuff");
这只是在eden空间中创建一个未引用的对象,一旦下一个集合发生就会被垃圾收集吗?
getLogger
返回一个实例 - 无论是创建新实例还是返回先前缓存的实例都取决于LoggerFactory
实现.如果不再以某种方式从工厂内部引用此对象,则它将有资格进行垃圾回收.