9 Netty性能优化工具类解析
两大性能优化工具类:FastThreadLocal、Recycler(实现了轻量级对象池机制,主要用于ByteBuf)
9.1 FastThreadLocal的实现机制
https://www.jianshu.com/p/14f461568008:核心图
对于jdk的ThreadLocal来讲,其底层数据结构就是一个Entry[]数组,key为ThreadLocal,value为对应的值(hash表);通过线性探测法解决hash冲突。
对于FastThreadLocal来讲,底层数据结构就是单纯的简单数组Object[],初始length==32;
数组的第一个元素index0存储一个Set<FastThreadLocal<?>>的set集合,存储所有有效的ftl;
每当有一个ftl的value设置到数组中的时候,就会将当前的ftl对象添加到Object[0]的set集合中;
每当有一个ftl的value被从数组中删除的时候,就会将当前的ftl对象从Object[0]的set集合中删除。
Object[]的其余元素存储ftl的value&#x