由从未引用的对象创建的垃圾

for*_*ect 2 java garbage-collection garbage

是否从未引用的对象创建了任何垃圾?

我想到的例子是使用静态工厂方法创建一个对象,然后让该对象执行一个函数,但从不创建对它的引用.

例如:

LoggerFactory.getLogger(Foo.class).info("logging some stuff");
Run Code Online (Sandbox Code Playgroud)

这只是在eden空间中创建一个未引用的对象,一旦下一个集合发生就会被垃圾收集吗?

Mur*_*nik 7

getLogger返回一个实例 - 无论是创建新实例还是返回先前缓存的实例都取决于LoggerFactory实现.如果不再以某种方式从工厂内部引用此对象,则它将有资格进行垃圾回收.