首页 > 图灵资讯 > java面试题>正文

金三银四精选java面试题-ThreadLocalMap怎么解决Hash冲突的?

2024-01-01 19:18:00

 

ThreadLocalMap怎么解决Hash冲突的?

我们可能都知道HashMap使用了链表来解决冲突,也就是所谓的链地址法。

ThreadLocalMap内部使用的是开放地址法来解决 Hash冲突的问题。具体来说,当发生Hash冲突时,ThreadLocalMap会将当前插入的元素从冲突位置开始依次往后遍历,直到找到一个空闲的位置,然后把该元素放在这个空闲位置。这样即使出现了Hash冲突,不会影响到已经插入的元素,而只是会影响到新的插入操作。

查找的时候,先根据ThreadLocal对象的hash值找到对应的位置,然后比较该槽位Entry对象中的key是否和get的key一致,如果不一致就依次往后查找。


 
上一篇 金三银四精选java面试题-ThreadLocalMap的结构
下一篇 金三银四精选java面试题-ThreadLocalMap扩容机制

文章素材均来源于网络,如有侵权,请联系管理员删除。