疑惑
2020-05-22 本文已影响0人
森林中大鸟
-
hashMap在jdk1.8中为什么先插入后扩容?
-
hashSet是基于hashMap,为什么value使用new Object()而不是null?
remove方法调用的是有返回值的方法,需要使用返回时判断是否删除成功。
hashSet中的value是一个静态的final变量,浪费空间并不多,可以忽略。
hashMap中的keySet的remove方法不需要返回值,直接判断key是否存在并移除。
-
并发下的hashMap(jdk1.7)死循环,为什么?
多线程扩容时会操作同一个table,即原始hashmap的table,共同改变同意个table【i】中链表的指针时,会出现不可预期的错误。成环或者数据错乱。 -
单例bean中