Java (任意のバージョン) 内のガベージ コレクションに関して、これら 2 つのコード ブロックは、いつ適格になるかに関して同等です。
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;
}
}
私が持っている質問は次のとおりです。
コンストラクターから呼び出された関数により、コンストラクターから呼び出された場合、ガベージ コレクターはその関数内にスコープされているオブジェクトを無視しますか?