如果对其字段有引用,是否会对元素进行垃圾回收?

dot*_*win 12 java garbage-collection

即,在

class A {
    public String s;
}
Run Code Online (Sandbox Code Playgroud)

A a1 = new A();
a1.s = "bla";
A a2 = new A();
a2.s = a1.s;
a1 = null;
Run Code Online (Sandbox Code Playgroud)

a1被垃圾收集或是a1.s允许收集它的参考(我宁愿做一个深层复制a2.s = new String(a1.s))?

非常感谢提前!

Mar*_*oun 11

如果a object保存另一个的引用,object并且当您设置容器对象的引用时null,child或者contains会object自动符合垃圾回收的条件.

有关详细信息,请参阅此链接.

  • @sanbhat在运行时创建的String实例与其他所有对象一样,都受垃圾收集的影响. (3认同)