use*_*434 21 java garbage-collection reference
我正在阅读Effective Java,我遇到了这个术语,"过时参考".什么时候是参考过时的参考?我假设所有不超出范围且仍未使用的对象都是过时的引用.如果我错了,请纠正我.
过时的引用只是一个引用,以后将不再对其取消引用。
保留
constitutes memory leaksJava中过时的引用。这也称为意外对象保留。删除一个引用以删除对一个对象的过时引用是好的,但是一定不要过度引用它。消除过时引用的最佳方法是重用包含该变量的变量或使其超出范围。
例如,删除过时的参考,
public Object pop() {
if (size == 0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null; // Eliminate obsolete reference
return result;
}
Run Code Online (Sandbox Code Playgroud)