Map

并发集合——ConcurrentHashMap 源码分析

作者 Siran | 8000字 | 阅读大约需要16分钟 | 归档于并发编程

2020年3月19日

ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。

继续阅读

并发集合——ConcurrentSkipListMap 源码分析

作者 Siran | 9600字 | 阅读大约需要20分钟 | 归档于并发编程

2020年3月19日

跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。

继续阅读

HashMap 源码分析

作者 Siran | 9000字 | 阅读大约需要18分钟 | 归档于Java

2020年3月19日

HashMap 采用key/value存储结构,每个key 对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度。它是非线程安全的,且不保证元素存储的顺序。

继续阅读

LinkedHashMap 源码分析

作者 Siran | 2100字 | 阅读大约需要5分钟 | 归档于Java

2020年3月8日

LinkedHashMap 继承HashMap,拥有HashMap的所有特性,并且添加了顺序访问的特点,HashMap是无序的内部维护一个双向链表, 能保证元素的插入是顺序访问的,也能以访问顺序访问,可以用来实现LRU缓存策略。

继续阅读

WeakHashMap 源码分析

作者 Siran | 3400字 | 阅读大约需要7分钟 | 归档于Java

2020年3月8日

WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整个删除掉,基于这种特性,WeakHashMap特别适用于缓存处理。

继续阅读