HashMap以及ConcurrentHashMap

HashMap源码相关

HashMap实现原理及源码分析

总之就是这个博客,简直就是源码带逛,开心,最关键的是下面的图像

另外,自己的理解加上源码,总结如下

  • hash,原义散列,就是一对一;
  • hashMap最大的优势,以O(1)的优势做各种操作;
  • 需要注意哈希冲突和线程安全问题;
  • hash函数实现散列;
  • 底层的数组,实现某些操作的O(1);
  • 挂靠在数组元素下的链表,解决哈希冲突的问题;
  • hashTable天然对线程安全有效,但开销极大,诞生ConcurrentHashMap(多锁)
  • hashMap的底层数组为Entry数组,可以有效生成链表;

线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。


ConcurrentHashMap

ConcurrentHashMap实现原理及源码分析

posted @ 2018-02-12 15:09  韧还  阅读(176)  评论(0编辑  收藏  举报