我想在其他线程不再引用时正确关闭Closeable对象.
我写了一些小测试,但是在对象入队后get方法返回null,即poll方法返回没有指示对象的正确Object.
public static void main(String[] args)
{
ReferenceQueue<Closeable> reaped = new ReferenceQueue<Closeable>();
Closeable s = <SOME CLOSEABLE IMPL>;
WeakReference<Closeable> ws = new WeakReference<Closeable>(s, reaped);
s = null;
System.gc();
Closeable ro = (Closeable)reaped.poll().get();
ro.close();
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.任何帮助将不胜感激.