Я использую RefQueue, чтобы отслеживать, какие WeakRef больше не указывают на объект. Но я понимаю, как это работает. Когда я говорю WeakReference зарегистрировать себя в определенной очереди, а затем через некоторое время я:WeakReference and ReferenceQueue performance matter
private void removeDumpReferences() {
Reference<? extends E> ref = null;
while ((ref = garbageQueue.poll()) != null) {
list.remove(ref);
}
}
ли она проходит через все объявления ссылки (тестирование ли реф точки на нуле), или есть тоже очереди на самом деле один для зарегистрированных и второй для тех, которые GC считаются «не используются»? Или, может быть, это работает совсем по-другому?