Java数组销毁

Alo*_*Leo 0 java arrays null

如果我使用"Array_Name [] = NULL",java的垃圾收集器是否会收集数组的其余部分?

Dan*_*lau 11

只有Array_Name在实际引用数组时才开始.并且只有在没有其他对数组的引用时.并且它将只回收数组中那些未被数组外部引用的元素.它只会在感觉到它的时候这样做:-)

(语法Array_Name[] = NULL不是很有意义.但我假设你做了类似的事情:

 Foo[] Array_Name = new Foo[n];
 //...
 Array_Name = null; // Note the lowercase "null"
Run Code Online (Sandbox Code Playgroud)

根据我上面描述的条件,这可能使数组成为垃圾收集的正确目标.)

  • +1*......它只会在它感觉到它的时候这样做...*(也就是说,GC在很大程度上是非确定性的 - 从Java代码的角度来看 - 当它运行时.) (3认同)