价格面议2020-10-31 14:30:47
/**
* 设计和构建一个“最近最少使用”LRU 缓存,该缓存会删除最近最少使用的项目。
* 缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。
* 当缓存被填满时,它应该删除最近最少使用的项目。
* 考虑多线程操作下的操作安全和性能。
*/
public class LRUCache{
private int maxSize;
/**
* 存储缓存数据
*/
private ConcurrentHashMap
/**
**存储缓存key列表
*/
private LinkedList
LRUCache(){
}
LRUCache(int maxSize){
this.maxSize = maxSize;
this.list = new LinkedList<>(maxSize);
}