Redis中,处理网络IO时,采用的是事件驱动机制。但它没有使用libevent或者libev这样的库,而是自己实现了一个非常简单明了的事件驱动库ae_event,主要代码仅仅400行左右。
没有选择libevent或libev的原因大概在于,这些库为了迎合通用性造成代码庞大,而且其中的很多功能,比如监控子进程,复杂的定时器等,这些都不是Redis所需要的。...
分类:
其他好文 时间:
2016-04-03 11:52:58
阅读次数:
244
屌丝有了钱仅仅是用来花的,那得有些霸气一点的房子吧! 意图:将一个复杂对象的构建与它的表示分离。使得相同的构建过程能够创建不同的表示。 适用性: 1、房子有不同的几个部分。能独立的安装 2、希望能建造出多个不同表象的房子 大家先看个类图 1.Builder 为创建一个Product对象的各个部件指定 ...
分类:
其他好文 时间:
2016-04-03 10:17:03
阅读次数:
152
代码风格规范: 缩进采用哪种方式:tab键,还是2、4、8个空格; 行宽:行宽必须限制; 括号:在复杂的的条件表达式中,用括号清楚地表示逻辑优先级; 断行与空白:断行与空白可以很好地看清代码,便于单步执行调试; 分行:不要把多条语句放在一行上,更严格的说,不要把多个变量放在一行上; 命名:在变量前加 ...
分类:
其他好文 时间:
2016-04-03 09:04:10
阅读次数:
131
概要 目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 概述:R-B Tree,又称为“红黑树”。本文参考了《算法导论》中红黑树相关知识,加之自己的理解,然后以图文的形式对红黑树 ...
分类:
编程语言 时间:
2016-04-03 08:59:39
阅读次数:
191
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: a.动态的增加和减少元素 b.实现了ICollection和IList接口 c.灵活的设置数组的大小 2、如何使用ArrayList 最简单的例子: Array ...
分类:
编程语言 时间:
2016-04-03 08:55:01
阅读次数:
238
转自:http://www.cnblogs.com/linjiqin/p/3540266.html 1、jxl导入/导出excel案例,黏贴即可运行 2、jxl常用操作a、数据格式化在Excel中不涉及复杂的数据类型,能够比较好的处理字符串、数字和日期已经能够满足一般的应用。 字串格式化字符串的格式 ...
分类:
其他好文 时间:
2016-04-03 01:39:26
阅读次数:
230
题目给4根长度在0~2^63-1的木棍,问能否组成四边形。 四边形有很多种。。。正方形,长方形,菱形,梯形……枚举所有情况实在太复杂 不过组成四边形的充要条件与组成三角形的充要条件是类似的:最大边>其余三边的和 本来2^63-1是刚好在long long的范围内的,三边加起来就会超过这个范围 正好今 ...
分类:
其他好文 时间:
2016-04-03 00:13:30
阅读次数:
177
网站日志流量复杂分析hadoophive需求会话信息表:键名描述对应Track表字段session_id会话IDsessionId,会话IDguid访客idglobel userId,独立访客ID,不清cookies时不会变化guidtrackerU访问的渠道id,取该会话中第一个trackerUt... ...
分类:
Web程序 时间:
2016-04-02 22:54:04
阅读次数:
316
桥接模式定义:桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 最简单的桥接模式例子:事件监听器 桥接模式复杂例子:构建XHR连接队列 1 var asyncRequest = ...
分类:
Web程序 时间:
2016-04-02 20:21:15
阅读次数:
441
组合模式是一种专为创建web上的动态用户界面而量身定制的模式。使用这种模式,可以用一条命令在多个对象上激发复杂的或递归的行为。这可以简化粘合性代码,使其更容易维护,而那些复杂行为则被委托给各个对象。 组合模式实例:图片库 1 /** 2 * 图片库 3 */ 4 var Composite = ne ...
分类:
Web程序 时间:
2016-04-02 20:20:36
阅读次数:
248