我需要将一些数据与一个键关联,以便在其生命周期内使用,因此我正在使用
当我在程序中使用“Value”时,“key”并不会消失。然而,如果除了地图之外再也没有关于“key”或其“value”的引用,它会被垃圾回收吗?还是“value”中存活的强引用会阻止它被回收?
WeakHashMap
。然而,除此之外,我还需要通过相应的值获取键。做法很简单,创建值时保留引用即可:public class Key {}
public class Value {
final public Key key;
public Value(Key k) {
key = k;
}
}
当我在程序中使用“Value”时,“key”并不会消失。然而,如果除了地图之外再也没有关于“key”或其“value”的引用,它会被垃圾回收吗?还是“value”中存活的强引用会阻止它被回收?