我正在通过Java
垃圾收集过程以及GC
适用的不同场景。Java垃圾收集场景
下面是这种情况下我感到困惑:
List<X> listX = new ArrayList<X>();
for(int a = 0;a<100;a++){
listX.add(new X(a));
}
for (X xObject : listX) {
xObject.printValue();
}
在第一圈我添加在每个循环的新对象,并在最新的循环,我只是打印的值,因此,那些对象我在列表中添加了适用于GC
的列表?
这句话是什么意思? “
”另一个很好的例子是什么时候一个实例可以成为垃圾收集的资格,一个实例的所有属性都可以存储在寄存器中,然后访问这些寄存器来读取这些值。这些值将被写回到实例中虽然这些值可以在未来使用,但仍然可以将此实例标记为垃圾回收“
它高度依赖于变量的给定范围和周围列表的范围,我会说。列表中的条目仍然会被列表引用,因此它们本身不适用于gc。 –