关于垃圾回收,,如何理解。。请各位大大指教
下述代码中,执行完语句1后,b是否会被回收?
import java.util.*;
public class Stack
{
private Object[] elements;
private int size = 0;
public Stack(int initialCapacity)
{
this.elements = new Object[initialCapacity];
}
public void push(Object e)
{
ensureCapacity();
elements[size++] = e;
}
public Object pop()
{
if (size == 0)
throw new EmptyStackException();
return elements[--size];
}
private void ensureCapacity()
{
if (elements.length == size)
{
Object[] oldElements = elements;
elements = new Object[2 * elements.length + 1];
System.arraycopy(oldElements, 0, elements, 0, size);
}
}
public static void main(String[] args)
{
Stack stack=new Stack(10);
Integer i=new Integer(10);
stack.push(i);
Object b=stack.pop();
b=null; /////////////////语句1
}
}
A. 可以
B. 不可以