04 2013 档案
23种经典设计模式UML类图汇总
摘要:Jason McDonald总结的23种软件设计模式,书中内容非常精炼,主要涉及23种设计模式的UML类图、目标、应用场景、应用实例;这对于日常查询或者是总体浏览比较等等非常的方便。原书内容:http://cs.franklin.edu/~whittakt/COMP311/rc008-designpatterns_online.pdf下面就把书中最重要的各种设计模式的UML类图贴图说明:
阅读全文
Linux内核 哈希表的结构与实现
摘要:1.基本概念:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。2. 常用的构造散列函数的方法散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位。散列表的常用构造方法有: (1)直接定址法 (2)数字分析法 (3)平方取中法 (4)折叠法 (5)随机数法 (6)除留余数法3、处理冲突的方法 散列表函数设计好的情况下,可以减少冲突,但是无法完全避免冲突。常见有冲突处理方法有: (.
阅读全文
深入分析 Linux 内核链表
摘要:一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链 表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序 性和组织链的空间损失。通常链表数据结构至少应包含两个域:数据域和指针域,数据域用于存储数据,指针域用于建立与下一个节点的联系。按照指针域的组织以及各个节点之间的联系形式,链表又可以分为单链表、双链表、循环链表等多种类型,下面分别给出这几类常见链表类型的示意图:1. 单链表图1 单链表 ...
阅读全文
什么是ACPI,什么是APIC
摘要:ACPI和APIC有什么关系?很多人问道了什么ACPI,什么是APIC,他们有没有关系?名字这么相近。下面给出我对其的一些理解,具体的解释可以查看内核文档库的内核参数文件:/usr/src/`uname -r`/Documents/kernel-parameters.txtACPI就是Advanced Configuration and Power Interface的缩写,意思是“高级配置与电源接口”。这是英特尔、微软和东芝共同开发的一种电源管理标准。ACPI可实现以下功能: 1、用户可以使外设在指定时间开关; 2、使用笔记本电脑的用户可以指定计算机在低电压的情况下进入低功耗状态,以...
阅读全文