文章目录
-
- Lru
- 源码分析
- LinkedHashMap维护一个LinkedHashMapEntry<K,V>的双向链表
- 对LinkedHashMap的增删查操作,也会对链表进行相同的操作并改变链表的链接顺序
- 小结
- 使用方法
- 应用
- 总结
Lru
Least Recently Used,最近最少使用,包括两个原则
1.最近原则,即最久未被使用,越久未被使用越应该被优先删除
2.最少原则,即记录使用次数,使用次数越少越应该被优先删除
源码分析
LinkedHashMap维护一个LinkedHashMapEntry<K,V>的双向链表
1.双向链表的实现:链表中的结点持有两个结点的实例对象before、after
2.LinkedHashMap持有两个结点的实例对象head和tail作为链表的表头和表尾,代表可以从表头,或表尾查找/遍历链表