Java:缓存:LinkedHashMap实现Lru

news/2025/1/8 13:28:10/

文章目录

    • Lru
    • 源码分析
      • ​​​​​​​​​​​​​​LinkedHashMap维护一个LinkedHashMapEntry<K,V>的双向链表
      • 对LinkedHashMap的增删查操作,也会对链表进行相同的操作并改变链表的链接顺序
      • 小结
    • 使用方法​​​​​​​​​​​​​​
    • 应用
    • 总结

Lru

Least Recently Used,最近最少使用,包括两个原则

1.最近原则,即最久未被使用,越久未被使用越应该被优先删除

2.最少原则,即记录使用次数,使用次数越少越应该被优先删除

源码分析

LinkedHashMap维护一个LinkedHashMapEntry<K,V>的双向链表

1.双向链表的实现:链表中的结点持有两个结点的实例对象before、after
2.LinkedHashMap持有两个结点的实例对象head和tail作为链表的表头和表尾,代表可以从表头,或表尾查找/遍历链表


http://www.ppmy.cn/news/1561559.html

相关文章

2025年直播电商系统源码开发趋势:如何进行跨境电商APP搭建?

企业在搭建跨境电商APP时&#xff0c;如何抓住技术趋势与市场需求&#xff0c;打造差异化竞争力&#xff1f;本文将从直播电商系统源码开发的趋势、核心功能需求以及开发策略三个方面进行详细探讨。 趋势一&#xff1a;系统开发趋向模块化与低代码化 模块化和低代码开发是当前…

【51单片机】02LED流水灯实验

点亮你的LED 一、点亮第一个LED1.GPIO介绍2.P1、P2、P3端口 二、LED实验2.尝试点亮LED3.LED流水灯 一、点亮第一个LED 1.GPIO介绍 这块内容这里可以做简单的了解&#xff0c;与数电知识强相关。后续可以再回过头来学习 GPIO (general purpose input output) 通用输入输出端口…

IDEA使用Git同步教程

目录 &#x1f552; 1. IDEA配置&#x1f552; 2. 项目上传到本地仓库&#x1f558; 2.1 创建本地git仓库&#x1f558; 2.2 Add&#x1f558; 2.3 Commit &#x1f552; 3. 项目上传到Github&#x1f552; 4. 报错解决 &#x1f552; 1. IDEA配置 首先下载安装好Git&#xff…

whowantstobeking靶场

1.扫描靶机IP与端口 2.访问端口 3. 将文件复制到kali中使用strings进行访问文件&#xff0c;得到ZHJhY2FyeXMK 4.进行base64位解码得到 dracarys 5.使用ssh远程登录访问 6.查看隐藏文件 7.去访问.local文件 8.解压压缩包&#xff0c;访问得到root密码 去登录root用户 9.进入n…

如何解决数据库和缓存不一致的问题

目录 一、Cache-Aside模式&#xff08;旁路缓存模式&#xff09; 二、Write-Through模式&#xff08;写透缓存模式&#xff09; 三、Write-Behind模式&#xff08;写回缓存模式&#xff09; 四、先删除缓存再更新数据库&#xff08;不推荐&#xff0c;存在风险&#xff09;…

使用Clion在ubuntu上进行交叉编译,并在Linux上远程编译五子棋

目录 1.工具以及概念介绍 &#xff08;1&#xff09;Clion软件简介 &#xff08;2&#xff09;交叉编译 &#xff08;3&#xff09;远程编译 2.操作原理 3.详细操作步骤 &#xff08;1&#xff09;配置Clion与虚拟机ubuntu的ssh连接 CLion远程开发Ubuntu&#xff0c;并显…

mybatisPlus拦截sql失败----已解决

1. 在使用MybatisPlusInterceptor想对数据权限做限制&#xff0c;但是发现使用寻常的配置&#xff0c;在执行sql后也不会被拦截 代码如下&#xff1a; Configuration public class MybatisPlusConfig { public MybatisPlusInterceptor setMybatisPlusInterceptor(){ MybatisPlu…

SQL使用视图

本文将介绍什么是视图&#xff0c;它们怎样工作&#xff0c;何时使用它们。 1. 视图 视图是虚拟的表。与包含数据的表不一样&#xff0c;视图只包含使用时动态检索数据的查询。 说明&#xff1a;SQLite 的视图 SQLite 仅支持只读视图&#xff0c;所以视图可以创建&#xff…