java new对象 =null_在Java中将对象分配为null会影响垃圾回收吗?
通常,沒有。
但就像所有事情一樣:這取決于。如今,Java中的GC非常好,所有內容都應該在不再可用后立即清理。這就是在為局部變量留下一個方法之后,以及當不再為字段引用類實例時。
如果您知道它將繼續引用,則只需要顯式為null。例如,保持在周圍的陣列。您可能希望在不再需要數組的各個元素時將其置零。
例如,這個代碼來自ArrayList:public?E?remove(int?index)?{
RangeCheck(index);
modCount++;
E?oldValue?=?(E)?elementData[index];
int?numMoved?=?size?-?index?-?1;
if?(numMoved?>?0)
System.arraycopy(elementData,?index+1,?elementData,?index,
numMoved);
elementData[--size]?=?null;?//?Let?gc?do?its?work
return?oldValue;}
此外,只要沒有引用仍然存在,顯式地使對象無效就不會導致對象被收集得比它剛剛自然超出范圍。
都:void?foo()?{
Object?o?=?new?Object();
///?do?stuff?with?o}
和:void?foo()?{
Object?o?=?new?Object();
///?do?stuff?with?o
o?=?null;}
在功能上是等同的。
總結
以上是生活随笔為你收集整理的java new对象 =null_在Java中将对象分配为null会影响垃圾回收吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6 深拷贝_你别自以为是:ES6误区
- 下一篇: tcp out of order解决_J