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

免费推广网站地址大全二手书网站建设目标

免费推广网站地址大全,二手书网站建设目标,河南省大型项目建设办公室网站,厦门 网站建设 公司哪家好最近#xff0c;我偶然发现了Java面试问题之一#xff1a; “使用Java集合类实现最近使用的列表#xff08;LRU#xff09;缓存吗#xff1f;” 如果您以前曾处理过类似的问题#xff0c;那么对您来说真的很容易。 否则#xff0c;您将开始考虑实现LRU缓存的最佳收集类… 最近我偶然发现了Java面试问题之一 “使用Java集合类实现最近使用的列表LRU缓存吗” 如果您以前曾处理过类似的问题那么对您来说真的很容易。 否则您将开始考虑实现LRU缓存的最佳收集类。 大多数人没有意识到LinkedHashMap提供了支持并且可以用最少的代码直接使用。 什么是最近最少使用LRU缓存 如果您知道此概念请跳至实施部分。 缓存项逐出中使用了不同的算法。 最受欢迎的是最近最少使用的。 缓存始终具有有限的内存并且只能包含有限数量的项目。 它使用一种算法来检测和驱逐不值得保留的物品。 研究表明与旧项目相比新项目最有可能很快获得访问。 LRU基于此观察。 该算法跟踪项目的上次访问时间。 逐出具有最旧访问时间戳的项目。 LRU缓存实施 如果您想实现LRU缓存 LinkedHashMap确实很有帮助。 甚至Sun Java框架也使用此类来实现com.sun.tdk.signaturetest.util.LRUCache和sun.security.ssl.X509KeyManagerImpl.SizedMap 。 对于实现应该重写removeEldestEntry()方法。 在put()和putAll()之后调用此方法。 Map根据其返回值删除旧条目。 如果此方法返回true 那么将删除旧条目。 否则它可以留在Map 。 此方法的默认实现返回false 。 在这种情况下旧条目保留在Map中永远不会被删除 它只是充当一般的Map集合类。 在大多数实现中如果映射中的条目数大于初始容量则此方法返回true 。 package code4reference.test;import java.util.LinkedHashMap; import java.util.Map;public class LRUCacheImpl extends LinkedHashMapInteger, String {private static final long serialVersionUID 1L;private int capacity;public LRUCacheImpl(int capacity, float loadFactor){super(capacity, loadFactor, true);this.capacity capacity;}/*** removeEldestEntry() should be overridden by the user, otherwise it will not * remove the oldest object from the Map.*/Overrideprotected boolean removeEldestEntry(Map.EntryInteger, String eldest){return size() this.capacity;}public static void main(String arg[]){LRUCacheImpl lruCache new LRUCacheImpl(4, 0.75f);lruCache.put(1, Object1);lruCache.put(2, Object2);lruCache.put(3, Object3);lruCache.get(1);lruCache.put(4, Object4);System.out.println(lruCache);lruCache.put(5, Object5);lruCache.get(3);lruCache.put(6, Object6);System.out.println(lruCache);lruCache.get(4);lruCache.put(7, Object7);lruCache.put(8, Object8);System.out.println(lruCache);} } println()方法按过期状态打印对象。 从上面的代码中可以看到在插入Object4之前就插入了Object1Object2和Object3并访问了object1因此在输出的第一行中在Object4之前打印了Object1。 插入Object5时对象2从列表中逐出因为该对象是列表中最旧的对象。 当访问object3时它的提升将高于object5并且当插入object6时将驱逐对象1。 其余输出是不言自明的希望您在理解输出时不会遇到困难。 {2Object2, 3Object3, 1Object1, 4Object4} {4Object4, 5Object5, 3Object3, 6Object6} {6Object6, 4Object4, 7Object7, 8Object8}翻译自: https://www.javacodegeeks.com/2014/06/code4referencelist-recently-usedlru-implementation-using-linkedhashmap.html
http://www.zqtcl.cn/news/711922/

相关文章:

  • 网站备案icp过期网站建设好了怎么做推广
  • 网站自动识别手机代码网络服务器是指
  • 做自媒体那几个网站好点乐清做网站建设
  • 如何制作自己的网站在线观看2021网页源码
  • 电子商务网站建设百度文库工业设计公司招聘
  • 网站seo测评餐厅设计公司餐厅设计
  • 深圳网站seo推广wordpress swf 上传
  • 织梦做双语网站怎么做制作网站的教程
  • 公司网站开发的国内外研究现状个人网页设计大全
  • 做一个网站人员网站建设及推广优化
  • 胶州市城乡建设局网站能进封禁网站的浏览器
  • 网站做几级等保荣耀商城手机官网
  • 营销网站费用渭南网站建设公司
  • wordpress主题集成插件下载网站如何做360优化
  • 有什么在线做文档的网站网站开发需要用到哪些技术
  • 网站套餐可以分摊吗吗移动登录网页模板免费下载
  • asp网站会员注册不了但是打不开网页
  • wordpress 中文网店杭州排名优化公司
  • wordpress建站安全吗wordpress企业主题教程
  • 网站构建的开发费用信息管理系统网站开发教程
  • 自己做网站怎么维护wordpress素材模板
  • 如何选择一个好的优质网站建设公司wordpress 主题小工具
  • mysql数据库做网站广州网站seo地址
  • 福建省住房和城乡建设厅网站电话网站开发项目步骤
  • 网站注册域名多少钱淘宝网商城
  • 做架构图的网站网站和网店的区别
  • 做红包网站简单个人网站设计
  • 新手学做网站pdf手wordpress修改搜索框
  • 做湲兔费网站视颍如何通过查询网站注册时间
  • 重庆cms建站模板南通网站建设推广优化