疑惑

2020-05-22  本文已影响0人  森林中大鸟
  1. hashMap在jdk1.8中为什么先插入后扩容?

  2. hashSet是基于hashMap,为什么value使用new Object()而不是null?

remove方法调用的是有返回值的方法,需要使用返回时判断是否删除成功。
hashSet中的value是一个静态的final变量,浪费空间并不多,可以忽略。
hashMap中的keySet的remove方法不需要返回值,直接判断key是否存在并移除。

  1. 并发下的hashMap(jdk1.7)死循环,为什么?
    多线程扩容时会操作同一个table,即原始hashmap的table,共同改变同意个table【i】中链表的指针时,会出现不可预期的错误。成环或者数据错乱。

  2. 单例bean中

上一篇 下一篇

猜你喜欢

热点阅读