摘要: 1、意图 用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2、结构 3、参与者 Prototype——声明一个克隆自身的接口; ConcretePrototype——实现一个克隆自身的操作; Client——让一个原型克隆自身从而创建一个新的对象; 4、适用性 当一个系统应该独立于 阅读全文
posted @ 2022-04-09 18:03 流翎 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 1. 摘要 bitmap_allocator是STL空间分配器的其中一种,它采用内存池策略,最多存储64条空闲链表(freelist,实际是一块空间连续的内存区,后面也称为超级块),每条空闲链表存储的内存块(block)个数呈指数递增,内存块大小一致,内存池的阈值总是维持在64,任何时刻内存池的链表 阅读全文
posted @ 2022-04-09 15:00 流翎 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 1. 摘要 pool_allocator是一种基于单锁内存池的空间分配器,其内部采用内存池思想,通过构建16个空闲内存块队列,来进行内存的申请和回收处理。每个空闲队列管理的内存块大小固定,且均为8的倍数,范围从8到128字节,按8的倍数递增。该空间分配器最小分配单位为8字节,低于128字节(含128 阅读全文
posted @ 2022-03-30 23:21 流翎 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 1. 简介 mt allocator 是一种以2的幂次方字节大小为分配单位的空间配置器,支持多线程和单线程。该配置器灵活可调,性能高。 分配器有三个通用组件:一个描述内存池特性的数据,一个包含该池的策略类,该池将实例化类型链接到公共或单个池,以及一个从策略类继承的类,该类是实际的分配器。 描述内存池 阅读全文
posted @ 2022-03-28 23:08 流翎 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1. 摘要 STL的空间分配器(allocator)定义于命名空间std内,主要为STL容器提供内存的分配和释放、对象的构造和析构的统一管理。空间分配器的实现细节,对于容器来说完全透明,容器不需关注内存分配和回收的策略细节如何。 STL allocator需实现如下4个标准接口 pointer al 阅读全文
posted @ 2022-03-28 23:07 流翎 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 1、意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 2、结构 3、参与者 Product——定义工厂方法所创建对象的接口。 ConcreteProduct——实现Product接口 Creator——声明工厂方法,该方法返回一 阅读全文
posted @ 2020-04-13 22:13 流翎 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2、结构 3、参与者 Builder——为创建一个product对象的各个部件指定抽象接口; ConcreteBuilder——实现Builder的接口以构造和装配该产品的各个部件;定义并明确它所创建的表示;提供一 阅读全文
posted @ 2020-04-12 22:00 流翎 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1、意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 2、结构 3.参与者 AbstractFactory——声明一个可以创建抽象产品对象的操作接口; ConcreteFactory——实现创建具体产品对象的操作; AbstractProduct——为一类产品对象声明一个接 阅读全文
posted @ 2020-04-12 19:49 流翎 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Linux内核链表定义了一系列用于链表遍历的宏,本章详细描述。 一、container_of和offsetof 首先介绍两个很好用的宏container_of和offsetof。offsetof宏用于计算结构体成员基于结构体首地址的偏移量,container_of宏用于获取结构体首地址(根据成员指针 阅读全文
posted @ 2020-01-12 20:25 流翎 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 一、前言 Linux内核链表结构是一种双向循环链表结构,与传统的链表结构不同,Linux内核链表结构仅包含前驱和后继指针,不包含数据域。使用链表结构,仅需在结构体成员中包含list_head*成员就行;链表结构的定义在linux/list.h头文件。 二、链表初始化 struct list_head 阅读全文
posted @ 2020-01-05 19:40 流翎 阅读(353) 评论(0) 推荐(0) 编辑