Java ThreadLocal 中的 setInitialValue 似乎是多余的?简直是负优化
資深大佬 : theworldsong 1
不服来辩,欢迎讨论。
当 ThreadLocal 在没有 set 的情况下,第一次调用 get,就会走到 setInitialValue,最后返回一个默认值(如果没重写 initialValue 则为 null )。
这个过程中,setInitialValue 里面把 ThreadLocalMap 给初始化了,这导致:即使从来没有 set 过,以后调用 get 也每次都要去 ThreadLocalMap 里面拿。
不科学啊。明明直接返回默认值就可以了
大佬有話說 (0)