Item 2: Enforce the singleton property with a private constructor
Item 3: Enforce noninstantiability with a private constructor
Item 4: Avoid creating duplicate objects
Item 5: Eliminate obsolete object references
参考下面的例子,当对象不能被访问到的时候,会被回收。elements[size] = null; // Eliminate obsolete reference
改写前:
public Object pop() {
if (size == 0)
throw new EmptyStackException();
return elements[--size];
}
改写后:
if (size==0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null; // Eliminate obsolete reference
return result;
}