青山相待

            白云相爱

            梦不到紫罗袍共黄金带

            一茅斋

            野花开

            管甚谁家兴废谁成败

            陋巷单瓢亦乐哉

            贫,气不改!

            达,志不改!

随笔分类 -  数据结构

摘要:内存池技术是一种饱受争议的技术 争议热点在于到底有没有必要自己实现。 1.内存池技术出现在libc尚不成熟的时候,当时程序经常在运行一段时间后性能下降,当时维护内存池很有必要 2.现在64位服务器经常是32G以上的内存,管理内存碎片意义不打 3.写malloc的各位都是大神,自己写有99%的可能会更 阅读全文
posted @ 2016-07-19 14:26 Leo.Z 阅读(347) 评论(0) 推荐(1)
摘要:记录最新的N条执行时间超过M毫秒的命令。慢查询日志保存在内存中,而不是文件中,这保证了慢查询日志的效率。慢查询日志的条目定义/* This structure defines an entry inside the slow log list *//* * 慢查询日志 */typedef struc 阅读全文
posted @ 2016-07-12 17:10 Leo.Z 阅读(957) 评论(0) 推荐(0)
摘要:跳跃表是一种插入、查询、删除的平均时间复杂度为O(nlogn)的数据结构,在最差情况下是O(n),当然这几乎很难出现。 和红黑树相比较 最差时间复杂度要差很多,红黑树是O(nlogn),而跳跃表是O(n) 平均时间复杂度是一样的 实现要简单很多 https://en.wikipedia.org/wi 阅读全文
posted @ 2016-07-12 16:08 Leo.Z 阅读(3965) 评论(0) 推荐(0)
摘要:概要 redis的每个server实例都维护着一个保存服务器状态的redisServer结构 struct redisServer { /* Pubsub */ // 字典,键为频道,值为链表 // 链表中保存了所有订阅某个频道的客户端 // 新客户端总是被添加到链表的表尾 dict *pubsub 阅读全文
posted @ 2016-07-03 11:22 Leo.Z 阅读(440) 评论(0) 推荐(0)
摘要:原文来自:http://sfsrealm.hopto.org/inside_mopaq/chapter2.htm#hashes促进历史进步的大多数契机都是在解决特定问题的过程中产生的,本文讨论一下MPQ格式的合适解决方案。----MPQ是暴雪的一种文本压缩格式,可以压缩包括坐标、算法、声音、动画、... 阅读全文
posted @ 2015-08-06 15:35 Leo.Z 阅读(479) 评论(0) 推荐(0)
摘要:说明 操作系统维护malloc和free的基本原理是通过一个链表来记录的,每次malloc和free都有不小的开销,随着系统内存碎片化的加剧而开销增加,程序中可以通过申请一块大内存并自行分配的方式减少malloc和free操作,提供程序效率。提供一种简单内存池的方案供大家品鉴。 设计思路 1.已知... 阅读全文
posted @ 2014-07-04 12:39 Leo.Z 阅读(321) 评论(0) 推荐(0)
摘要:简介 weak_ptr是shared_ptr的观察者,它不会干扰shared_ptr所共享对象的所有权,当一个weak_ptr所观察的shared_ptr要释放它的资源时,它会把相关的weak_ptr的指针设置为空,防止weak_ptr持有悬空的指针。为什么需要weak_ptr,很多情况下需要旁观... 阅读全文
posted @ 2014-06-30 21:04 Leo.Z 阅读(1627) 评论(0) 推荐(0)
摘要:前面已经学习过auto_ptr,这里补充另外一种智能指针,比auto_ptr要更强力更通用的shared_ptr。 shared_ptr 简介及使用选择 几乎所有的程序都需要某种形式的引用计数智能指针,这种指针让我们不再需要为两个对象或更多对象共享的对象的生命周期而编写复杂的逻辑(写起来有点绕口)... 阅读全文
posted @ 2014-06-30 19:03 Leo.Z 阅读(2201) 评论(0) 推荐(0)
摘要:技术不只是我的工作,也是我的生活,以后的博客中会穿插一些个人的喜悦、愤怒或者感悟,希望大家能够接受。 我所有的一切,比我技术更好的怕是我的脸皮了,昨天收到京东面试没有通过的消息,喊了几句“我好悲伤啊”就又能够继续我的生活了。呵呵,我不喜欢批判,但总是能看到自己的不足,好吧,这是一个痛并快乐的过程,... 阅读全文
posted @ 2014-06-27 10:25 Leo.Z 阅读(306) 评论(0) 推荐(0)
摘要:这篇博客的目的是让尚未学会hash表的朋友们对hash表有一个直观的理解,并且能根据本文定义出属于自己的第一个hash表,但算不上研究文,没有深究概念和成功案例。 什么是hash表? hash表也叫做散列表,是一种通过键值快速访问数据的结构,hash表有两种常见的定义形式:数组、数组和链... 阅读全文
posted @ 2014-05-13 23:19 Leo.Z 阅读(529) 评论(0) 推荐(0)