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