【性能和内存占用优化】优化 CRR 中捕获的数据和备份数据,使用 IdentityHashMap 替换 ThreadLocal 作为 key 的 HashMap
作者: monadrome创建于 2025年12月2日更新于 2025年12月26日
Private static class TtlTransmittee implements Transmittee<HashMap<TransmittableThreadLocal<Object>, Object>, HashMap<TransmittableThreadLocal<Object>, Object>> { @NonNull @Override public HashMap<TransmittableThreadLocal<Object>, Object> capture() { final HashMap<TransmittableThreadLocal<Object>, Object> ttl2Value = newHashMap(holder.get().size()); for (TransmittableThreadLocal<Object> threadLocal : holder.get().keySet()) { ttl2Value.put(threadLocal, threadLocal.getTransmitteeValue()); } return ttl2Value; } }
内容来源: alibaba/transmittable-thread-local