java实现LRU

java实现LRU

什么是LRU

LRU就是计算机操作系统中常见的内存管理算法,中文名也叫最近最少使用页面置换算法。
也就是在缺页的情况下,寻找最近最少被使用的页面,然后将它置换出内存,把新的页面置换到内存。

实现思路

数据结构:

使用一个双向链表和一个HashMap<Integer,Node>。

关键流程

双向链表用来记录同一个级别的页面的先后访问顺序。
map用来表示所有的级别的情况。
如果页面在低级别的页面中命中,就将页面放到高级别的队列中的队头,满了就将队尾元素放到低一级别队列的队头。
如果高级别的页面中出现淘汰页面的情况,就将淘汰的页面放入低一个级别的队列中,直到到达最低级别,就直接将页面进行淘汰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值