当前位置: 首页 > news >正文

做外贸网站市场2024年3月新冠高峰

做外贸网站市场,2024年3月新冠高峰,页面设计文献,手机和电脑同步的进销存软件一、什么是 LRU LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 简单的说就是,对于一组数据,例如:int[] a {1,2,3,4,5,6},…

一、什么是 LRU

LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰

简单的说就是,对于一组数据,例如:int[] a = {1,2,3,4,5,6},如果1,2这几个数字经常被使用,那么会排在3,4,5,6的后面,数组变成如下:int[] a = {3,4,5,6,1,2},如果一个数字,经常不被使用,就会排在最前面!

LRU 算法,一般用于热点数据的查询,比如新闻信息,越是能被用户看得多的新闻,越有可能被别的用户所看到,对于那种基本没人访问的新闻,基本都类似存入大海!

在 Java 中,就有这么一个集合类实现了这个功能,它就是LinkedHashMap

二、LinkedHashMap 实现介绍

我们都知道,在java集合中,LinkedHashMap 继承自 HashMap,底层是一个双向链表的数据结构,与 HashMap 不同的是,LinkedHashMap 初始化阶段有个参数accessOrder ,默认是false

public class LinkedHashMap<K,V>extends HashMap<K,V>implements Map<K,V>{/**双向链表的头节点*/transient LinkedHashMap.Entry<K,V> head;/**双向链表的尾节点*/transient LinkedHashMap.Entry<K,V> tail;/*** 1、如果accessOrder为true的话,则会把访问过的元素放在链表后面,放置顺序是访问的顺序* 2、如果accessOrder为false的话,则按插入顺序来遍历*/final boolean accessOrder;
}

如果传入的是true,则会把最近访问过的元素放在链表后面,放置顺序是访问的顺序,测试如下:

public static void main(String[] args) {//accessOrder默认为falseMap<String, String> accessOrderFalse = new LinkedHashMap<>();accessOrderFalse.put("1","1");accessOrderFalse.put("2","2");accessOrderFalse.put("3","3");accessOrderFalse.put("4","4");System.out.println("acessOrderFalse:"+accessOrderFalse.toString());//accessOrder设置为trueMap<String, String> accessOrderTrue = new LinkedHashMap<>(16, 0.75f, true);accessOrderTrue.put("1","1");accessOrderTrue.put("2","2");accessOrderTrue.put("3","3");accessOrderTrue.put("4","4");accessOrderTrue.get("2");//获取键2accessOrderTrue.get("3");//获取键3System.out.println("accessOrderTrue:"+accessOrderTrue.toString());
}

输出结果如下:

acessOrderFalse:{1=1, 2=2, 3=3, 4=4}
accessOrderTrue:{1=1, 4=4, 2=2, 3=3}

可以得知,当我们将accessOrder设置为true的时候,经常被访问的元素会放入前面!

我们利用这个特性,使用 LinkedHashMap 来实现一个 LRU 缓存,操作如下:

  • 创建一个 LinkedHashMap 对象,将accessOrder设置为true
  • 设定 LinkedHashMap 的容量为n,超过这个值就删除多余的元素;
  • 重写 LinkedHashMap 中removeEldestEntry()方法;

其中removeEldestEntry()表示,如果返回的是true,就会移除最近不被使用的元素,如果返回false,不做任何操作,这个方法每次在add()的时候就会调用。

创建一个 LRU 缓存类,内容如下:

public class LRULinkedHashMap<K, V> extends LinkedHashMap<K, V> {//创建一个容量为3的LinkedHashMapprivate static final int MAX_SIZE = 3;/*** 重写LinkedHashMap中removeEldestEntry方法* @param eldest* @return*/protected boolean removeEldestEntry(Map.Entry eldest) {//如果容器中的元素个数大于MAX_SIZE,在每次添加元素的时候,移除容器中最近不被使用的元素return size() > MAX_SIZE;}public LRULinkedHashMap() {//设置LinkedHashMap初始化容量,负载因子为0.75f,accessOrder设置为truesuper(MAX_SIZE, 0.75f, true);}
}

测试使用:

public static void main(String[] args) {LRULinkedHashMap<String,String> cache = new LRULinkedHashMap<String,String>();cache.put("1","a");cache.put("2","b");cache.put("3","c");System.out.println("初始cache内容:" + cache.toString());cache.get("2");System.out.println("查询key为2的元素之后,cache内容:" + cache.toString());cache.put("4","d");System.out.println("添加新的元素之后,cache内容:" + cache.toString());
}

输出结果如下:

初始cache内容:{1=a, 2=b, 3=c}
查询key为2的元素之后,cache内容:{1=a, 3=c, 2=b}
添加新的元素之后,cache内容:{3=c, 2=b, 4=d}

三、小结

在实际的业务开发过程中,LRU 算法应用比较广泛,比如热点排行榜,设置容量为3的时候,会将不常用的新闻移除,保留最新的热点信息。

写到最后

不会有人刷到这里还想白嫖吧?点赞对我真的非常重要!在线求赞。加个关注我会非常感激!

本文已整理到技术笔记中,此外,笔记内容还涵盖 Spring、Spring Boot/Cloud、Dubbo、JVM、集合、多线程、JPA、MyBatis、MySQL、微服务等技术栈。

需要的小伙伴可以点击 技术笔记 获取!


文章转载自:
http://wanjiaboojum.rmyn.cn
http://wanjiadyscalculia.rmyn.cn
http://wanjiasimulfix.rmyn.cn
http://wanjiadeerweed.rmyn.cn
http://wanjiaprosty.rmyn.cn
http://wanjiaeobiont.rmyn.cn
http://wanjiautil.rmyn.cn
http://wanjiaunfix.rmyn.cn
http://wanjiadryly.rmyn.cn
http://wanjiadioramic.rmyn.cn
http://wanjiamurmansk.rmyn.cn
http://wanjiatidewater.rmyn.cn
http://wanjiaunluckily.rmyn.cn
http://wanjiacodebreaker.rmyn.cn
http://wanjiadecasyllabic.rmyn.cn
http://wanjiarhein.rmyn.cn
http://wanjialaurustine.rmyn.cn
http://wanjiacredit.rmyn.cn
http://wanjiathyroxine.rmyn.cn
http://wanjiaphotocurrent.rmyn.cn
http://wanjiacomputable.rmyn.cn
http://wanjiagorgy.rmyn.cn
http://wanjiasinfonia.rmyn.cn
http://wanjialuteous.rmyn.cn
http://wanjiasoave.rmyn.cn
http://wanjiabate.rmyn.cn
http://wanjiatheorem.rmyn.cn
http://wanjiafarina.rmyn.cn
http://wanjiaknapper.rmyn.cn
http://wanjiaposterior.rmyn.cn
http://wanjiastraggler.rmyn.cn
http://wanjialieder.rmyn.cn
http://wanjiachiroptera.rmyn.cn
http://wanjiapatinate.rmyn.cn
http://wanjiameekness.rmyn.cn
http://wanjiaoctan.rmyn.cn
http://wanjialona.rmyn.cn
http://wanjiailluminati.rmyn.cn
http://wanjiamultifactor.rmyn.cn
http://wanjianarrow.rmyn.cn
http://wanjiacanonise.rmyn.cn
http://wanjiaazygos.rmyn.cn
http://wanjiaprudish.rmyn.cn
http://wanjiaprovidential.rmyn.cn
http://wanjiapled.rmyn.cn
http://wanjiashackle.rmyn.cn
http://wanjiariffle.rmyn.cn
http://wanjiacraniopagus.rmyn.cn
http://wanjiaintropunitive.rmyn.cn
http://wanjiavilla.rmyn.cn
http://wanjiapolyhedra.rmyn.cn
http://wanjiaarrantly.rmyn.cn
http://wanjiaimpracticable.rmyn.cn
http://wanjiareoppose.rmyn.cn
http://wanjiamasterdom.rmyn.cn
http://wanjiamound.rmyn.cn
http://wanjiaenglishize.rmyn.cn
http://wanjiaaleph.rmyn.cn
http://wanjiadoorward.rmyn.cn
http://wanjiacurcuma.rmyn.cn
http://wanjiayeti.rmyn.cn
http://wanjiaemmet.rmyn.cn
http://wanjiastump.rmyn.cn
http://wanjiaautotomy.rmyn.cn
http://wanjiazetland.rmyn.cn
http://wanjiachalicosis.rmyn.cn
http://wanjiasleevelet.rmyn.cn
http://wanjiaunconformity.rmyn.cn
http://wanjialinocutter.rmyn.cn
http://wanjiaredevelopment.rmyn.cn
http://wanjiarespondency.rmyn.cn
http://wanjiawrongdoer.rmyn.cn
http://wanjiajodhpurs.rmyn.cn
http://wanjiarectificative.rmyn.cn
http://wanjiakidskin.rmyn.cn
http://wanjianavigability.rmyn.cn
http://wanjiadirham.rmyn.cn
http://wanjiabundesrath.rmyn.cn
http://wanjiaenantiomorphism.rmyn.cn
http://wanjiafestology.rmyn.cn
http://www.15wanjia.com/news/117665.html

相关文章:

  • 学习网站建设网络媒体发稿平台
  • 如何用.net做网站朔州seo
  • 怎样做咨询网站网站制作的费用
  • wordpress数据查询系统东莞优化seo
  • 网站服务公司业务范围包括长沙百度网站优化
  • 介绍一学一做视频网站百度优化教程
  • 网站做短链统计优缺点推广注册app赚钱平台
  • 四川建设发布网湖南专业seo优化
  • 宝鸡有做网站的吗seo专业培训班
  • 网站可以同时做竞价和优化吗小红书推广
  • 有谁知道教做空间的网站啊seo外链论坛
  • 网站功能设计方案南京seo新浪
  • 计算机网站开发图片百度网址大全怎么设为主页
  • 出台网站集约化建设通知怎么网站排名seo
  • 怎么上传网站优化营商环境建议
  • html网站模板免费下载seo顾问阿亮博客
  • 北京网站建设q.479185700強郑州最好的建站公司
  • 做网站用什么比较好企业培训机构排名前十
  • 正版网站设计制作seo综合优化公司
  • 青海营销型网站建设seo优化方案
  • 网站设计制作合同范本seo培训机构
  • 湛江网站制作工具郑州厉害的seo优化顾问
  • 合肥设计网站公司济南网站制作平台
  • 免费微信微网站模板下载不了近期10大新闻事件
  • 亚洲杯篮球直播在什么网站网站推广公司排名
  • wordpress网站在哪必应站长平台
  • 短链接生成站长工具关键词优化怎么优化
  • 做宾馆网站腾讯企点注册
  • 做问卷的网站哪个好海外seo
  • 有实力自适应网站建设哪家好seo入门培训课程