Я хочу правильно закрыть объект 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();
}
Спасибо заранее. Любая помощь будет оценена.