HashMap 源码分析
HashMap 采用key/value存储结构,每个key 对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度。它是非线程安全的,且不保证元素存储的顺序。
LinkedHashMap 源码分析
LinkedHashMap 继承HashMap,拥有HashMap的所有特性,并且添加了顺序访问的特点,HashMap是无序的内部维护一个双向链表, 能保证元素的插入是顺序访问的,也能以访问顺序访问,可以用来实现LRU缓存策略。
WeakHashMap 源码分析
WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整个删除掉,基于这种特性,WeakHashMap特别适用于缓存处理。