Java|Java 最近最少使用算法(LRU)
【Java|Java 最近最少使用算法(LRU)】Java已经为我们提供了这种形式的数据结构-LinkedHashMap!它甚至提供可覆盖回收策略的方法(见removeEldestEntry文档)。唯一需要我们注意的事情是,改链表的顺序是插入的顺序,而不是访问的顺序。但是,有一个构造函数提供了一个选项,可以使用访问的顺序(见文档)。
import java.util.LinkedHashMap;
import java.util.Map;
public LRUCache extends LinkedHashMap {
private int cacheSize;
public LRUCache(int cacheSize) {
//true for access-order, false for insertion-order
super(16, 0.75, true);
this.cacheSize = cacheSize;
}protected boolean removeEldestEntry(Map.Entry eldest) {
return size() >= cacheSize;
}
}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- JS中的各种宽高度定义及其应用
- 人生感悟记#环境仪器宋庆国成长记#072
- “精神病患者”的角度问题
- 事件代理
- 放下心中的偶像包袱吧
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题