基于Java实现LRU算法

这篇博客介绍了LRU缓存淘汰算法的基本原理,它基于最近最少使用原则。文章详细讲解了为何选择使用Java中的LinkedHashMap来实现LRU,并讨论了在实现过程中需要考虑的关键操作,包括插入、命中时的数据移动以及满时的数据淘汰。最后,提供了Java代码实现的简要示例。
摘要由CSDN通过智能技术生成

目录

一、什么是LRU 

二、 选用LinkedHashMap实现


一、什么是LRU 

LRU是指最近最少使用,是一种缓存淘汰算法。根据数据的历史访问记录来进行淘汰数据,把最近一次使用时间离现在时间最远的数据删除掉,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。

以下摘自百度百科:

LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。

二、 选用LinkedHashMap实现

为什么要选择LinkedHashMap?

LinkedHashMap是用双向链表实现的一个哈希表,封装了常用的方法并且可以设置按

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值