Я ищу слабую эталонную реализацию, похожую на 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 / окружения.