Java: Ищу изменяемую / повторно используемую реализацию слабой ссылки

Я ищу слабую эталонную реализацию, похожую на java.lang.ref.WeakReference , но который предлагает метод set () или другой способ повторной ссылки на созданный объект слабой ссылки. Вот пример:

MutableWeakReference ref = new MutableWeakReference(someObject);
ref.set(anotherObject);

Мне это нужно, чтобы избежать создания объекта, которое в моем случае на порядок замедляет время выполнения, потому что я постоянно меняю объект, на который ссылается моя слабая ссылка.

Я пробовал скопировать код из JDK, но это кажется невозможным, поскольку java.lang.ref.Reference использует класс sun.misc.Cleaner , который является внутренним. Я также посмотрел на реализацию Android, но, похоже, это зависит от Dalvik VM для сборки мусора. Интересно, действительно ли это возможно реализовать без изменения JVM / окружения.

5
задан eold 13 February 2011 в 21:53
поделиться