LRU是LeastRecentlyUsed近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
什么是LRU算法?LRU是LeastRecentlyUsed的缩写,即最近最久未使用,常用于页面置换算法,是为虚拟页式存储管理服务的。
关于操作系统的内存管理,如何节省利用容量不大的内存为最多的进程提供资源,一直是研究的重要方向。而内存的虚拟存储管理,是现在最通用,最成功的方式——在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑极大地扩充了内存的功能,极大地提高了计算机的并发度。
虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。
因而,采取尽量好的算法以减少读取外存的次数,也是相当有意义的事情。
假设序列为43423142物理块有3个则首轮4调入内存4次轮3调入内存34之后4调入内存43之后2调入内存243之后3调入内存324之后1调入内存132(因为最少使用的是4,所以丢弃4)之后4调入内存413(原理同上)最后2调入内存241
规律就是,如果新存入或者访问一个值,则将这个值放在队列开头。如果存储容量超过上限cap,那么删除队尾元素,再存入新的值。
用数组保存缓存对象(Node);
缓存对象(Node)之间通过nextKey,preKey组成一个双向链表;
保存链表头跟尾;
Node节点类
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
THE END