摘要: 转自:http://marklodato.github.io/visual-git-guide/index-zh-cn.html个人觉得这一篇比一些入门教程更值得看,图解很详细到位,很容易理解其工作原理,明白了这个过程,对以后冲突的产生以及其他难题相信可以依靠自己快速分析出来。有不懂的地方欢迎评论讨... 阅读全文
posted @ 2014-05-08 15:38 supercp 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: MySQL的InnoDB引擎设置有索引及数据缓存池,其中用到的LRU算法来维持缓存的命中率这里用到了顺序表list来作为缓冲池,每个数据节点称为block该算法采用“中点插入法”:当插入一个新block时,移除表尾最近最少使用的block,在中点插入新block。这个中点将链表分为两部分:1.靠近表... 阅读全文
posted @ 2014-04-23 13:05 supercp 阅读(3385) 评论(0) 推荐(0) 编辑
摘要: MyISAM引擎中,为了提高io效率以及读取效率,将对磁盘频繁读取的索引数据加载至内存中操作。MyISAM设计了一个在存放在内存中的索引缓冲池Key Cache。Key Cache只缓存索引数据,通过LRU算法将读取频繁的索引加载到Key Cache中来。通过系统变量key_buffer_size来... 阅读全文
posted @ 2014-04-23 11:28 supercp 阅读(1478) 评论(0) 推荐(0) 编辑
摘要: MySQL关于InnoDB的几个错误 阅读全文
posted @ 2014-04-19 15:55 supercp 阅读(6624) 评论(1) 推荐(0) 编辑
摘要: JDK中的实现在JDK中LinkedHashMap可以作为LRU算法以及插入顺序的实现,LinkedHashMap继承自HashMap,底层结合hash表和双向链表,元素的插入和查询等操作通过计算hash值找到其数组位置,在做插入或则查询操作是,将元素插入到链表的表头(当然得先删除链表中的老元素),如果容量满了,则删除LRU这个元素,在链表表尾的元素即是。 LinkedHashMap的时间复杂度和HashMap差不多,双向链表的删除和表头插入等操作都是O(1)复杂度,故不会影响HashMap的操作性能,插入,查询,删除LRU元素等操作均是O(1)的时间复杂度。 LinkedHashMap不是线 阅读全文
posted @ 2014-03-26 11:44 supercp 阅读(2422) 评论(0) 推荐(0) 编辑