1. 首页
  2. 数据库
  3. 其它
  4. 10行Java代码实现近被使用(LRU)缓存

10行Java代码实现近被使用(LRU)缓存

上传者: 2021-01-23 00:11:21上传 PDF文件 45.45KB 热度 12次
在近的面试中,我曾被多次问到,怎么实现一个近少使用(LRU)的缓存。缓存可以通过哈希表来实现,然而为这个缓存增加大小限制会变成另一个有意思的问题。现在我们看一下怎么实现。 近少使用缓存的回收 为了实现缓存回收,我们需要很容易做到: 查询出近晚使用的项 给近使用的项做一个标记 链表可以实现这两个操作。检测近少使用的项只需要返回链表的尾部。标记一项为近使用的项只需要从当前位置移除,然后将该项放置到头部。比较困难的事情是怎么快速的在链表中找到该项。 哈希表的帮助 看一下我们工具箱中的数据结构,哈希表可以在(消耗)常量的时间内索引到某个对象。如果我们创建一个形
用户评论