1、假设map里已经放了一对数据了:
key1,value12、然后有个线程取走了value1,持续强引用value1。3、没有任何引用指向key1。4、GC执行了问1:
我的理解,由于key1可回收,因此key1,value1这对数据从map中移除。是否正确?问2:
我的理解,由于value1一直被正常使用,GC应该只会回收key1对象,不会动value1的。是否正确?
key1,value12、然后有个线程取走了value1,持续强引用value1。3、没有任何引用指向key1。4、GC执行了问1:
我的理解,由于key1可回收,因此key1,value1这对数据从map中移除。是否正确?问2:
我的理解,由于value1一直被正常使用,GC应该只会回收key1对象,不会动value1的。是否正确?
问2,你想的太多了。
http://www.baitouwei.com/2017/06/07/WeakHashMap-%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/