ThreadLocal是如何扩容的?

提问者:帅平 问题分类:面试刷题

ThreadLocal是如何扩容的?

1 个回答
Rae
Rae 管理员

ThreadLocal扩容步骤如下:

1、老size + 1 = 新size
2、如果新size大于等于老size的2/3时,需要考虑扩容。
3、扩容前先尝试回收一次key为null的值,腾出一些空间。
4、如果回收之后发现size还是大于等于老size的1/2时,才需要真正的扩容。
5、每次都是按2倍的大小扩容。

具体案例如下:

发布于:1个月前 (10-20)
我来回答