map(2)

hashmap和hashtable,
一个线程不安全,一个线程安全,
一个key可以存储一个null值,value可以存储null值,一个key和value都不允许存储null值,
现在基本不用hashtable了使用线程安全的话可以使用concurrenthashmap,底层也是数组+链表或红黑树。
concurrenthashmap乐观锁悲观锁都有用到,当插入该数组中是空的时候使用volatile和cas(乐观锁),当插入的位置已有值的时候,使用synchronized(悲观锁),判断是否同一个key,同的话新值替换旧值,不是同一个key,直接添加到链表的前端。

#学习笔记#
全部评论

相关推荐

点赞 评论 收藏
分享
球Offer上岸👑:可能是大环境太差了 太卷了 学历也很重要 hc也不是很多 所以很难
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务