摘要: 阅读全文
posted @ 2017-09-01 22:49 皈依之路 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Java中最简单的LRU算法实现,就是利用 LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可 如果你去看LinkedHashMap的源码可知,LRU算法是通过双向链表来实现,当某个位置被命中,通过调整链表的指向将该位置调整到头位置,新加入的内容直 阅读全文
posted @ 2017-09-01 21:23 皈依之路 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 1. LFU类 1.1. LFU LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。 LFU的每个数据块都有一个引用计数,所有数据块按照引用计数排序,具有相同引用计数的数据块则按照时间排序。 阅读全文
posted @ 2017-08-31 17:05 皈依之路 阅读(14102) 评论(0) 推荐(0) 编辑
摘要: 1. LRU 1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 1. 新数据插入到链表头部; 2. 每 阅读全文
posted @ 2017-08-31 17:01 皈依之路 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 前段时间去网易面试,被这个问题卡住,先做总结如下: 常用缓存淘汰算法 FIFO类:First In First Out,先进先出。判断被存储的时间,离目前最远的数据优先被淘汰。 LRU类:Least Recently Used,最近最少使用。判断最近被使用的时间,目前最远的数据优先被淘汰。 LFU类 阅读全文
posted @ 2017-08-31 16:23 皈依之路 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: 基础知识 1.域名系统 2.域名服务器 域名解析过程 1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。2.如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系 阅读全文
posted @ 2017-08-20 13:03 皈依之路 阅读(65446) 评论(5) 推荐(9) 编辑
摘要: 传播行为 事务的第一个方面是传播行为。传播行为定义关于客户端和被调用方法的事务边界。Spring定义了7中传播行为。 PROPAGATION_MANDATORY [ propagation_manadatory ] PROPAGATION_NESTED [ propagation_nested ] 阅读全文
posted @ 2017-08-19 16:58 皈依之路 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 1. 数据库中事务的四大特性(ACID) 2. 数据不一致问题: 3. MySQL四种隔离级别 以上四种隔离级别最高的是Serializable级别,最低的是Read uncommitted级别,当然级别越高,执行效率就越低。 像Serializable这样的级别,就是以锁表的方式(类似于Java多 阅读全文
posted @ 2017-08-19 16:01 皈依之路 阅读(285) 评论(0) 推荐(0) 编辑
摘要: scope的分类 compile(编译范围) 默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试, 运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。 test(测试范围) scope为test表示依赖 阅读全文
posted @ 2017-08-19 11:40 皈依之路 阅读(10392) 评论(0) 推荐(0) 编辑
摘要: 创建型模式 单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式 结构型模式 适配器模式 桥接模式 装饰模式 组合模式 外观模式 享元模式 代理模式 行为型模式 模板方法模式 命令模式 迭代器模式 观察者模式 中介者模式 备忘录模式 解释器模式 状态模式 策略模式 责任链模式 访问者模式 阅读全文
posted @ 2017-08-18 11:20 皈依之路 阅读(142) 评论(0) 推荐(0) 编辑