Use a cleanup method that is explicitly invoked instead of the finalize() method.
public void free() {
ReferenceQueue refQueue = getQueue();
PhantomReference ref = new PhantomReference(this , refQueue);
ref.enqueue();
}
private ReferenceQueue getQueue() {
return _queue;
}
private transient ReferenceQueue _queue;
|
|