Least Recently Used 简称LRU 中文释义:最近最少使用的
通俗的讲就是将那些不怎么用的元素删除
示例:
package com.example.demo.sf;
import java.util.LinkedHashMap;
import java.util.Map;
public class Lru<K, V> extends LinkedHashMap<K, V> {
private static final int MAX_ENTRIES = 3;
public Lru() {
super(MAX_ENTRIES, 0.75f, true);
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
return size() > MAX_ENTRIES;
}
public static void main(String[] args) {
Lru<Integer, String> lru = new Lru<>();
// 添加元素
lru.put(1, "One");
lru.put(2, "Two");
lru.put(3, "Three");
// 访问元素,使其成为最新访问的元素
System.out.println(lru.get(1));
// 添加新元素,触发LRU淘汰机制
lru.put(4, "Four");
// 打印当前缓存内容
System.out.println(lru);
// 打印结果 {3=Three, 1=One, 4=Four} 最老的是2被删除
}
}