集合
文章平均质量分 95
kongmin_123
每天进步一点点。
展开
-
HashMap的实现原理
HashMap是Java当中很常用的数据结构。众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。对于HashMap,我们最常使用的是两个方法:Put( )和Get( )。1.Put方法的原理调...原创 2018-08-27 09:25:14 · 224 阅读 · 0 评论 -
HashMap和线程安全
HashMap是Java当中很常用的数据结构。那么HashMap是线程安全的吗?高并发情况下HashMap会出现什么问题?为什么HashMap在高并发情况下会出现死锁?Java8中,HashMap的结构有什么样的优化呢?下面我们一起来看一下高并发情况下,HashMap可能出现的致命问题。在分析高并发场景之前,我们需要先搞清楚[rehash]这个概念。Rehash是HashMap...原创 2018-08-27 12:36:02 · 8157 阅读 · 0 评论 -
ConcurrentHashMap的实现原理
HashMap是Java当中很常用的数据结构。但是HashMap不是线程安全的,单线程环境下还可以正常使用,不过在并发插入元素的时候有可能出现带环链表,让下一次读操作出现死循环。那么什么样的哈希数据结构可以保证线程安全呢?线程安全的哈希数据结构主要有HashTable和ConcurrentHashMap。而ConcurrentHashMap比HashTable的扩展性更好。在多并发...原创 2018-08-27 14:08:56 · 2731 阅读 · 1 评论