LRU Java两种简单实现

本文介绍了LRU缓存的两种简单Java实现:一是利用LinkedHashMap的特性,二是自定义时间顺序关系。在第一种方法中,通过重写removeEldestEntry方法实现缓存策略。第二种方法则需要手动维护时间顺序,包括添加、移动和删除元素的操作。
摘要由CSDN通过智能技术生成

LRU Java两种简单实现

​ LRU即Least Recently Used ,最近最少使用的缓存替换规则,此缓存策略关注于程序访问存储介质两个性质之一:时间局部性,最近访问到的内容,接下来大概率会继续访问到。LRU的实现不难,且在java中还有现成的代码可以使用以及学习。下面给出两种LRU的实现:

1.持有或继承LinkedHashMap

​ LinkedHashMap在HashMap平均O(1)的访问基础上,存储的节点额外增加了前后指向关系:

    static class Entry<K,V> extends HashMap.Node<K,V> {
   
        Entry<K,V> before, after;
        Entry(int hash, K key, V value, Node<K,V> next) {
   
            super(hash, key
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值