摘要: 在JDK1.7及以前中,如果在并发环境中使用HashMap保存数据,有可能会产生死循环的问题,造成cpu的使用率飙升。之所以会发生该问题,实际上就是因为HashMap中的扩容问题。 HashMap的实现实际上是一个数组+链表的实现(JDK1.8中当链表长度达到一定值会转化为红黑树),当HashMap 阅读全文
posted @ 2018-11-06 17:23 宁愿呢 阅读(1709) 评论(0) 推荐(1) 编辑
摘要: 常用方法 hash(key) 该方法中返回的值是将得到的hash值(传入的值的hashCode方法)的高16位与低16位进行异或操作。这样做的目的在于减少hash之间的碰撞。具体可看这篇: "为什么hash将高16位与低16位进行异或操作" V put(K key, V value) 参数: has 阅读全文
posted @ 2018-11-06 17:01 宁愿呢 阅读(167) 评论(0) 推荐(0) 编辑