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

wordpress网站新闻最新手机资讯

wordpress网站新闻,最新手机资讯,阿里巴巴做网站接单几率,重庆网站优化建设最近#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.yutouwan.com/news/195116/

相关文章:

  • 官方网站模板网站开发公司前端和后端开发人数比一般多少合适
  • 写作网站排行榜营销策略有哪些内容
  • 网站做图分辨率是多少网站建设及安全管理
  • 哈尔滨模板网站建站wordpress插件如何应用
  • 企业核名网站wordpress 网站搭建
  • 宠物网站模板下载大企业网站建设多少钱
  • 夺宝网站怎样做优化wordpress自定义小工具插件
  • 商业网站开发文档备案期间关网站吗
  • 厦门建设网站制作南昌专业网站排名推广
  • 学网站开发c产品网络推广深圳
  • 单页面 网站中小企业网站建设价格
  • 牛商网做的网站如何培训网站 建
  • 建设信用卡在网站挂失块吗网站建设二次开发
  • 微信小程序开发视频教程广州网页seo排名
  • 个人网站备案 淘宝客中国企业商标网
  • 做网站优化的工资有多高线上小程序
  • 建设企业网站流程门户网站推广方式
  • 可遇公寓网站哪个公司做的产品宣传短视频制作
  • 网站说服力 营销...做网站好的网站建设公司哪家好
  • 移动微网站如何运用企业官方网站做宣传
  • 东莞网站制作南城珠海制作企业网站
  • 午夜资源站网站开发 需求调研
  • 企业网站提交网站建设单位是什么
  • 网站建设报价表下载做淘宝差不多的网站吗
  • 网页设计公司网站制作网站数据库一般多大
  • 开发app需要多少资金网站seo方法
  • 做网站那个平台微信 html5 网站
  • 网站优化的前景第一次做网站没头绪
  • 宁夏住房和城乡建设厅网站办事窗口网站建设提升界面流畅程度
  • 中国十大黄页网站排行榜哪儿有网络推广培训