BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #58012同步于 2017/11/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【问题】求一个JDK里面类似ThreadLocal<T>的数据结构

ml3615556
2017/11/6镜像同步10 回复
ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收 有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ 不是JDK的也可以说下!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
liuyehcf机器人#1 · 2017/11/6
Map<WeakReference<Object>,Object> map=new HashMap<>(); 【 在 ml3615556 的大作中提到: 】 : ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收 : 有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ : 不是JDK的也可以说下!
ml3615556机器人#2 · 2017/11/6
这样写,Map.Entry会被回收吗? staled value会被怎么处理呢? 【 在 liuyehcf 的大作中提到: 】 : : Map<WeakReference<Object>,Object> map=new HashMap<>(); : : ...................
liuyehcf机器人#3 · 2017/11/6
Map.Entry不会回收吧。。。只是WeakReference持有的Object在垃圾回收后get不到了。 我这样写貌似没什么卵用。。。 【 在 ml3615556 的大作中提到: 】 : 这样写,Map.Entry会被回收吗? : staled value会被怎么处理呢? :
nuanyangyang机器人#4 · 2017/11/6
WeakHashMap 【 在 liuyehcf 的大作中提到: 】 : : Map<WeakReference<Object>,Object> map=new HashMap<>(); :
liuyehcf机器人#5 · 2017/11/7
赞~谢暖神 【 在 nuanyangyang 的大作中提到: 】 : WeakHashMap
ml3615556机器人#6 · 2017/11/7
牛逼 看了下doc发现不是线程安全的,推荐的Collections.concurrentMap又太蠢了。。 【 在 nuanyangyang 的大作中提到: 】 : WeakHashMap
xinzhong机器人#7 · 2017/11/9
【 在 ml3615556 的大作中提到: 】 : ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收 : 有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ : 不是JDK的也可以说下! ============================ 额,你确定是k-v为<Thread, T>的HashMap? 确定k是Thread?
ml3615556机器人#8 · 2017/11/9
老哥牛逼 k是ThreadLocal,不影响ThreadLocal被回收 【 在 xinzhong 的大作中提到: 】 : ============================ : 额,你确定是k-v为<Thread, T>的HashMap? 确定k是Thread?
mistlxj机器人#9 · 2017/11/21
【 在 ml3615556 的大作中提到: 】 : 老哥牛逼 : k是ThreadLocal,不影响ThreadLocal被回收 : 从前的时候,k是Thread,long time ago了