返回信息流ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收
有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ
不是JDK的也可以说下!
这是一条镜像帖。来源:北邮人论坛 / java / #58012同步于 2017/11/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】求一个JDK里面类似ThreadLocal<T>的数据结构
ml3615556
2017/11/6镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Map<WeakReference<Object>,Object> map=new HashMap<>();
【 在 ml3615556 的大作中提到: 】
: ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收
: 有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ
: 不是JDK的也可以说下!
这样写,Map.Entry会被回收吗?
staled value会被怎么处理呢?
【 在 liuyehcf 的大作中提到: 】
: : Map<WeakReference<Object>,Object> map=new HashMap<>();
:
: ...................
Map.Entry不会回收吧。。。只是WeakReference持有的Object在垃圾回收后get不到了。
我这样写貌似没什么卵用。。。
【 在 ml3615556 的大作中提到: 】
: 这样写,Map.Entry会被回收吗?
: staled value会被怎么处理呢?
:
WeakHashMap
【 在 liuyehcf 的大作中提到: 】
: : Map<WeakReference<Object>,Object> map=new HashMap<>();
:
牛逼
看了下doc发现不是线程安全的,推荐的Collections.concurrentMap又太蠢了。。
【 在 nuanyangyang 的大作中提到: 】
: WeakHashMap
【 在 ml3615556 的大作中提到: 】
: ThreadLocal实现了k-v为<Thread, T>的hashmap数据结构,且Thread(或者说是Map.Entry)为WeakReference,不影响Thread被回收
: 有没有一种支持自定义key的这种hashmap,让key为弱引用?犯懒不想自己写了ORZ
: 不是JDK的也可以说下!
============================
额,你确定是k-v为<Thread, T>的HashMap? 确定k是Thread?
老哥牛逼
k是ThreadLocal,不影响ThreadLocal被回收
【 在 xinzhong 的大作中提到: 】
: ============================
: 额,你确定是k-v为<Thread, T>的HashMap? 确定k是Thread?
【 在 ml3615556 的大作中提到: 】
: 老哥牛逼
: k是ThreadLocal,不影响ThreadLocal被回收
:
从前的时候,k是Thread,long time ago了