HashMap和ConcurrentHashMap常见面试题

HashMap和ConcurrentHashMap常见面试题

1、HashMap

  • HashMap原理

  • HashMap 有用过吗?您能给我说说他的主要用途吗?

  • 您能说说 HashMap 常用操作的底层实现原理吗?如存储 put(K key, V value),查找 get(Object
    key),删除 remove(Object key),修改 replace(K key, V value)等操作

  • hash 冲突(或者叫 hash 碰撞)是什么?为什么会出现这种现象,如何解 决 hash 冲突?

  • HashMap 的容量为什么一定要是 2 的 n 次方?

  • 您能说说 HashMap 和 HashTable 的区别吗?

  • HashMap中put()如何实现的

  • HashMap中get()如何实现的

  • 为什么HashMap线程不安全

  • HashMap1.7和1.8有哪些区别

  • 解决hash冲突的时候,为什么用红黑树

  • 红黑树的效率高,为什么一开始不用红黑树存储
    因为红黑树需要进行左旋,右旋操作, 而单链表不需要,
    如果元素小于8个,查询成本高,新增成本低
    如果元素大于8个,查询成本低,新增成本高

  • 不用红黑树,用二叉查找树可以不

  • 为什么阀值是8才转为红黑树

  • 为什么退化为链表的阈值是6

  • hash冲突有哪些解决办法

  • HashMap在什么条件下扩容

  • HashMap中hash函数怎么实现的,还有哪些hash函数的实现方式

  • 为什么不直接将hashcode作为哈希值去做取模,而是要先高16位异或低16位

  • 为什么扩容是2的次幂

  • 链表的查找的时间复杂度是多少

  • 红黑树

ConcurrentHashMap

  • ConcurrentHashMap有哪些构造函数?

  • ConcurrentHashMap使用什么技术来保证线程安全?

  • ConcurrentHashMap的get方法是否要加锁,为什么?

  • ConcurrentHashMap迭代器是强一致性还是弱一致性?HashMap呢?

  • ConcurrentHashMap1.7和1.8的区别;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值