LRU算法

根据下列博客提供的LRU算法实现,发现结果如下。

https://www.toutiao.com/a6720205805238370829/

LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法。

LRU算法基于一种假设:长期不被使用的数据,在未来被用到的几率也不大。因此当数据所占内存达到一定阈值时,我们要移除掉最近最少被使用的数据。

根据结果来看,除了head中没有对pre进行更新,基本完成LRU算法的实现。所以只要对当通过LRU算法删除第一个元素时,将第二个元素设置为head时,也将其pre设为空即可。

通过打印,对比得出,LRU算法能够实现key-value能够按照最后的使用时间来排序。

需要注意的是,这段不是线程安全的,要想做到线程安全,需要加上synchronized修饰符。

posted @ 2019-08-04 15:52  forget_me  阅读(264)  评论(0编辑  收藏  举报