就 Java(任何版本)中的垃圾收集而言,这两个代码块是否等同于它们何时符合条件:
public class Foo
{
public Foo()
{
go();
}
public List go()
{
List things = new List();
things.add(42);
things.add(new Object());
return things;
}
}
以及以下内容:
public class Foo
{
public Foo()
{
}
public List go()
{
List things = new List();
things.add(42);
things.add(new Object());
return things;
}
}
我的问题如下:
从构造函数调用的函数是否会导致垃圾收集器忽略该函数范围内的任何对象(如果它们是从构造函数调用的)?