我正在寻找一种类似于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/环境的情况下实现这一点。