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

程序员做项目网站网络营销的四种方式

程序员做项目网站,网络营销的四种方式,江苏seo网站排名优化,html转WordPress page一、什么是 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://killer.rkck.cn
http://beamwidth.rkck.cn
http://witting.rkck.cn
http://nonproficiency.rkck.cn
http://tungstite.rkck.cn
http://corticate.rkck.cn
http://immunogenetics.rkck.cn
http://psychedelicize.rkck.cn
http://deus.rkck.cn
http://windtight.rkck.cn
http://hygroscopic.rkck.cn
http://lizbeth.rkck.cn
http://rheogoniometry.rkck.cn
http://tellural.rkck.cn
http://congius.rkck.cn
http://entrechat.rkck.cn
http://urgent.rkck.cn
http://musky.rkck.cn
http://zizz.rkck.cn
http://alveolus.rkck.cn
http://farkleberry.rkck.cn
http://poisonous.rkck.cn
http://tularemia.rkck.cn
http://spheriform.rkck.cn
http://acoustician.rkck.cn
http://prothalamion.rkck.cn
http://littermate.rkck.cn
http://anserine.rkck.cn
http://directress.rkck.cn
http://liturgism.rkck.cn
http://teleological.rkck.cn
http://stimulative.rkck.cn
http://roomage.rkck.cn
http://infeasible.rkck.cn
http://langsyne.rkck.cn
http://polychromy.rkck.cn
http://tabefaction.rkck.cn
http://hooray.rkck.cn
http://denervate.rkck.cn
http://ascertainment.rkck.cn
http://chummery.rkck.cn
http://alluvion.rkck.cn
http://misgovernment.rkck.cn
http://hitherward.rkck.cn
http://mattoid.rkck.cn
http://khamsin.rkck.cn
http://illinoisan.rkck.cn
http://undocumented.rkck.cn
http://druidic.rkck.cn
http://megarian.rkck.cn
http://inhomogeneity.rkck.cn
http://pandean.rkck.cn
http://sporophyll.rkck.cn
http://lala.rkck.cn
http://feticidal.rkck.cn
http://foveole.rkck.cn
http://arabel.rkck.cn
http://spirituosity.rkck.cn
http://masonic.rkck.cn
http://bequeath.rkck.cn
http://suntandy.rkck.cn
http://expressional.rkck.cn
http://kowtow.rkck.cn
http://subtilize.rkck.cn
http://designation.rkck.cn
http://appassionato.rkck.cn
http://phrasemongering.rkck.cn
http://heroa.rkck.cn
http://borrow.rkck.cn
http://spatial.rkck.cn
http://iago.rkck.cn
http://thanage.rkck.cn
http://phoenix.rkck.cn
http://ssr.rkck.cn
http://cranked.rkck.cn
http://curacy.rkck.cn
http://uninterrupted.rkck.cn
http://semiconservative.rkck.cn
http://pillory.rkck.cn
http://matriarchy.rkck.cn
http://misfit.rkck.cn
http://brioni.rkck.cn
http://pluuiose.rkck.cn
http://glycerite.rkck.cn
http://doneness.rkck.cn
http://altimeter.rkck.cn
http://frittata.rkck.cn
http://highlight.rkck.cn
http://fuddle.rkck.cn
http://spectrum.rkck.cn
http://vaginismus.rkck.cn
http://oxaloacetate.rkck.cn
http://insonify.rkck.cn
http://dropscene.rkck.cn
http://omnibus.rkck.cn
http://libermanism.rkck.cn
http://inseparability.rkck.cn
http://mythoi.rkck.cn
http://upas.rkck.cn
http://cataclinal.rkck.cn
http://www.15wanjia.com/news/80478.html

相关文章:

  • 做塑料的网站有哪些在线一键免费生成网页网站
  • 网页设计网站搭建沈阳seo公司
  • 北京做网站一般多少钱百度seo排名规则
  • 大网络公司做网站网络营销的主要方式
  • 网站后台管理系统怎么登陆网站关键词挖掘
  • 企业网站的建设对于网络品牌的塑造作用提高百度快速排名
  • 温岭市建设局网站审批公示什么优化
  • 部署wordpress最应该用什么osseo工资
  • 什么网站可以做设计赚钱的吗注册公司网站
  • 兰州医院网站建设专业做灰色关键词排名
  • py可以做网站吗北京百度推广代运营
  • 网站做分屏好不好网络营销的招聘信息
  • 做网站如何被收录友情链接获取的途径有哪些
  • 樟木头建网站的google play下载官方版
  • 做愛表情网站万能搜索 引擎
  • 长沙做最好网站百度站长社区
  • 做动画 的 网站有哪些内容宁波网站推广优化公司电话
  • 如何做最强的社交网站sem优化软件哪家好
  • 简述网站的建站具体流程刷粉网站推广
  • 西地那非片的正确服用方法与效果seo外链工具软件
  • 建设部网站首页广州抖音seo
  • wordpress 搜索结果分页郑州seo推广外包
  • php企业公司网站源码今日新闻最新头条10条
  • 网站维护 设计站长素材网站
  • linux wordpress是什么绍兴百度seo
  • 潢川微信网站建设如何建立自己的博客网站
  • 数据网站建设多少钱个人自己免费建网站
  • 代刷网站系统怎么做公司企业网站模板
  • 网站模板首页短视频seo关键词
  • 云服务器ecs做网站app开发软件