java
lru
leetcode
java12-fundamentals-cache-implementations-workshop
参考
前言
本次研讨会的目标
理解
LRU
缓存的概念
理解
LFU
缓存的概念
实现
LRU
和
LFU
缓存
看看守卫在列表实现中是如何有用的
工作坊:
lfu.workshop
,
lru.workshop
在实现期间使用list类
答案:
lfu.answers
,
lru.answers
最近最少使用
(LRU)
首先丢弃最近最少使用的项目
操作
get(key)
-
如果键存在于缓存中,则获取该值,否则为
null
put(key,
value)
-
如果键不存在,则设置或插入值当缓存达到其容量时,它应该在插入新项目之前使最近最少使用的项目无效
都在O(1)
解决方案
LinkedHashMap<Integer>
+
重写的removeEldestEntry方法备注:
LinkedHashMap有两种迭代顺序:访问顺序或插入顺序
地图+双链表
最不常用
只不过是从缓存中删除最不常用的项目以将新数据放入缓存中
有时与最近最
评论0
最新资源