自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

董哥的黑板报

永远年轻,永远奋斗!

  • 博客(76)
  • 资源 (43)
  • 收藏
  • 关注

原创 C++(数据结构与算法):18---栈介绍

一、栈的特点也是线性表的一种 把线性表的插入和删除操作限制在同一端进行。因此,栈是一个后进先出(last-in-first-out,LIFO)的数据结构二、栈的定义栈是一种特殊的线性表,其插入(也称入栈或压栈)和删除(也称出栈或弹栈)操作都在表的同一端进行。这一端称为栈顶(top),另一端称为栈底(buttom)三、栈的应用现实中的栈函数调用中的栈(递归)...

2019-11-30 21:47:34 562

原创 Redis(设计与实现):35---服务端之服务器的初始化(initServerConfig函数、initServer函数)

一个Redis服务器从启动到能够接受客户端的命令请求,需要经过一系列的初始化和设置过程,比如初始化服务器状态,接受用户指定的服务器配置,创建相应的数据结构和网络连接等等,本文接下来的内容将对服务器的整个初始化过程进行详细的介绍一、初始化服务器状态结构(initServerConfig函数)初始化服务器的第一步就是创建一个struct redisServer类型的实例变量server作为服务器...

2019-11-30 21:34:26 696

原创 Redis(设计与实现):34---服务端之serverCron函数

serverCron函数Redis服务器中的serverCron函数默认每隔100毫秒执行一次,这个函数负责管理服务器的资源,并保持服务器自身的良好运转 本文接下来的内容将对serverCron函数执行的操作进行完整介绍,并介绍redisServer结构 (服务器状态)中和serverCron函数有关的属性一、更新服务器时间缓存Redis服务器中有不少功能需要获取系统的当前时间,而每次...

2019-11-30 21:34:07 418

原创 Redis(设计与实现):33---服务端之命令请求的解析执行过程

一个命令请求从发送到获得回复的过程中,客户端和服务器需要完成一系列操作。举个例子,如果我们使用客户端执行以下命令:那么从客户端发送SET KEY VALUE命令到获得回复OK期间,客户端和服务器共需要执行以下操作: ①客户端向服务器发送命令请求SET KEY VALUE ②服务器接收并处理客户端发来的命令请求SET KEY VALUE,在数据库中进行设置操作,并产生命令回复OK ...

2019-11-30 21:14:27 431

原创 Redis(设计与实现):32---客户端之客户端的创建与关闭(client-output-buffer-limit选项、Lua伪客户端(lua_client属性)、AOF伪客户端)

一、普通客户端的创建创建的过程:如果客户端是通过网络连接与服务器进行连接的普通客户端,那么在客户端使用connect 函数连接到服务器时,服务器就会调用连接事件处理器,为客户端创建相应的客户端状态,并将这个新的客户端状态添加到服务器状态结构clients链表的末尾 举个例子,假设当前有c1和c2两个普通客户端正在连接服务器,那么当一个新的普通客 户端c3连接到服务器之后,服务器会将c3所对应...

2019-11-29 22:32:49 501

原创 Redis(设计与实现):31---客户端之客户端属性(clients属性、redisClient、fd、name、flags、querybuf、argv、cmd、buf、authenticated)

一、服务器与客户端的交互Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接, 每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复 Redis服务器通过使用由I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的 方式来处理命令请求,并与多个客户端进行网络通信clients属性stru...

2019-11-29 22:19:40 853

原创 Redis(设计与实现):30---事件之服务器的事件调度与执行(aeProcessEvents函数)

一、服务器事件的调度与执行因为服务器中同时存在文件事件和时间事件两种事件类型,所以服务器必须对这两种事件进行调度,决定何时应该处理文件事件,何时又应该处理时间事件,以及花多少时间来处 理它们等等二、aeProcessEvents函数事件的调度和执行由ae.c/aeProcessEvents函数负责 以下是该函数的伪代码表示: 备注:在实际中,处理已产生文件事件的代码是直接写在aePr...

2019-11-29 21:26:19 838

原创 Redis(设计与实现):29---事件之时间事件(serverCron函数、hz选项)

一、时间事件介绍时间事件(time event):Redis服务器中的一些操作(比如serverCron函数)需要在给定的时间点执行,而时间事件就是服务器对这类定时操作的抽象二、时间事件的分类Redis的时间事件分为以下两类: 定时事件:让一段程序在指定的时间之后执行一次。比如说,让程序X在当前时间的30 毫秒之后执行一次 周期性事件:让一段程序每隔指定时间就执行一次。比如说,让...

2019-11-28 22:52:06 797

原创 Redis(设计与实现):28---事件之文件事件(AE_READABLE事件、AE_WRITABLE事件)

一、文件事件介绍文件事件(file event):Redis服务器通过套接字与客户端(或者其他Redis服务器)进 行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或者其他服务器) 的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信 操作二、文件事件处理器Redis基于Reactor模式开发了自己的网络事件处理器,这个处理器被称为文件事件处理...

2019-11-28 22:29:04 1561

原创 Redis(设计与实现):27---AOF持久化之AOF文件重写(aof_rewrite函数、REDIS_AOF_REWRITE_ITEMS_PER_CMD常量、BGREWRITEAOF命令)

一、AOF文件重写的概念为什么需要AOF文件重写举个例子,如果客户端执行了以下命令:那么服务器为了保存当前list键的状态,必须在AOF文件中写入六条命令 因为AOF持久化是通过保存被执行的写命令来记录数据库状态的,所以随着服务器运行时间的流逝,AOF文件中的内容会越来越多,文件的体积也会越来越大,如果不加以控制的话,体积过大的AOF文件很可能对Redis服务器、甚至整个宿主计算...

2019-11-28 22:05:54 770

原创 Redis(设计与实现):26---AOF持久化之AOF文件的写入与还原(aof_buf缓冲区、flushAppendOnlyFile函数、appendfsync选项)

AOF持久化介绍除了RDB持久化功能之外,Redis还提供了AOF(Append Only File)持久化功能。与 RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的,如下图所示:AOF文件介绍开启AOF持久化功能之后,Redis会将你本次在数据库中所操作的写记录追加到一个文件中(系统会自动在第一行...

2019-11-28 21:43:42 935 1

原创 Redis(设计与实现):24---RDB持久化之RDB文件结构

总体结构RDB文件为二进制格式保存,下面我们为了演示效果,采用字符串的形式演示REDIS(常量):RDB文件的最开头是REDIS部分,这个部分的长度为5字节,保存着“REDIS”五个字符。 通过这五个字符,程序可以在载入文件时,快速检查所载入的文件是否RDB文件 db_version(变量):长度为4字节,它的值是一个字符串表示的整数,这个整数记录了RDB文件的 版本号,比如"00...

2019-11-28 17:51:06 487

原创 Redis(设计与实现):23---RDB持久化之自动间隔性保存(save选项、struct saveparam、dirty属性、lastsave属性)

一、自动间隔性保存介绍(save选项)前面一篇文章介绍了SAVE、BGSAVE命令,其中BGSAVE命令可以在不阻塞服务器进程的情况下执行,所以Redis允许用户通过设置服务器配置的save选项,让服务器每隔一段时间自动执行一次BGSAVE命令save选项的格式用户可以通过save选项设置多个保存条件,但只要其中任意一个条件被满足,服务器就会执行BGSAVE命令 如果用户没有主动设置...

2019-11-28 16:58:05 929

原创 Redis(设计与实现):22---RDB持久化之RDB文件的创建与载入(SAVE命令、BGSAVE命令、rdbSave函数、rdbLoad函数)

数据库状态Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态一、RDB持久化介绍因为Redis是内存数据库,它将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失...

2019-11-28 12:53:56 918

原创 Redis(设计与实现):21---数据库之数据库通知(SUBSCRIBE命令、notify-keyspace-events选项、notifyKeyspaceEvent函数)

一、数据库通知介绍数据库通知是Redis 2.8版本新增加的功能,这个功能可以让客户端通过订阅给定的频道或者模式,来获知数据库中键的变化,以及数据库中命令的执行情况 分类: 键空间通知:“某个键执行了什么命令”的通知称为键空间通知(key-space notification) 键事件通知:键事件通知(key-event notification)关注的是“某个命令被什么键执行了” ...

2019-11-28 12:24:39 6074 5

原创 Redis(设计与实现):20---数据库之AOF、RDB、复制功能对过期键的处理

一、RDB与过期键的关系生成RDB文件在执行SAVE命令或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进 行检查,已过期的键不会被保存到新创建的RDB文件中 因此,数据库中包含过期键不会对生成新的RDB文件造成影响 举个例子,如果数据库中包含三个键k1、k2、k3,并且k2已经过期,那么当执行SAVE命 令或者BGSAVE命令时,程序只会将k1和k3的数据保存到R...

2019-11-28 11:43:01 451

原创 Redis(设计与实现):19---数据库之键的过期删除策略(expireIfNeeded、activeExpireCycle)

如果一个键过期了,可以有下面3个过期删除策略:①定时删除(Redis不支持) ②惰性删除 ③定期删除注意:在这3种策略中,第①种和第③种为主动删除策略,而第②种则为被动删除策略 Redis服务器实际使用的是惰性删除和定期删除两种策略:通过配合使用这两种删除策略,服务器可以 很好地在合理使用CPU时间和避免浪费内存空间之间取得平衡一、定时删除概念:在设置键的过期时间的同时,创建...

2019-11-28 11:26:59 1014

原创 C++(数据结构与算法):16---特殊矩阵的实现(对角矩阵、三对角矩阵、下三角矩阵、上三角矩阵、对称矩阵)

一、特殊矩阵(方阵)方阵:是指行数与列数相同的矩阵 一些常用的特殊方阵如下: 对角矩阵:M是一个对角矩阵,当且仅当i!=l时,M(i,j)=0 三对角矩阵:M是一个三对角矩阵,当且仅当|i-j|>1时,M(i,j)=0 下三角矩阵:M是一个下三角矩阵,当且仅当i<j时,M(i,j)=0 上三角矩阵:M是一个上三角矩阵,当且仅当i>j时,M(i,j)=0 对...

2019-11-26 22:54:44 6981 1

原创 C++(数据结构与算法):15---矩阵的实现(数组形式)

一、矩阵知识见文章:https://blog.csdn.net/qq_41453285/article/details/103258010二、数组实现矩阵我们不使用二维数组来实现矩阵,而是将矩阵映射到一个一位数组中三、代码设计异常类定义class illegalParamterValue{private: string message;public: illega...

2019-11-26 22:51:41 1105

原创 C++(数据结构与算法):14---矩阵介绍

一、矩阵介绍一个矩m*b的矩阵是一个m行、n列的表,如下图所示:m和n是矩阵的维数 矩阵与二维数组不同,矩阵的索引从1开始二、矩阵的运算矩阵最常见的操作是:矩阵转置、矩阵相加、矩阵相乘矩阵转置一个m*n的矩阵M转置之后是一个n*m的矩阵,它们的关系是:矩阵相加两个矩阵仅当维数相同(行数、列数分别相同)时才可以相加 两个m*n的矩阵A和B相加之后是一个m*n...

2019-11-26 20:16:37 1967

原创 C++(数据结构与算法):13---数组

一、数组的抽象数据类型(ADT)有关数组的操作如下: ①取值:对一个给定的索引,取对应数对中的值 ②存值:把一个新数加到数对集合中 二、行主映射,列主映射令n是一个k维数组的元素个数。该数组的序列化需要借助一个映射函数,把数组的一个索引[i1]、[i2]、[i3]、[ik]映射到[0,n-1]范围中的一个数map(i1,i2,i3...,ik),把索引为[i1][i2][i3...

2019-11-26 20:01:16 718

原创 C++(数据结构与算法):12---线性表应用之(箱子排序、基数排序、凸包、并查集)

待续

2019-11-25 23:22:56 493

原创 Redis(设计与实现):18---数据库之键的生存时间、过期时间(EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT、PERSIST、TTL、PTTL)

键的生存时间或过期时间介绍生存时间(Time To Live,TTL):在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键 过期时间(expire time):是一个UNIX时间戳,当键的过期时间来临时,服务器就会自动从数据库中删除这个键一、设置键生存/过期时间(EXPIRE、PEXPIRE、EXPIREAT、PEXPIREAT)设置生存时间: EXPIRE &lt...

2019-11-25 23:01:02 1639

原创 Redis(设计与实现):17---数据库之键值对的添加、删除、更新、取值、维护(struct dict)

数据库键空间Redis是一个键值对(key-value pair)数据库服务器,服务器中的每个数据库都由一redis.h/redisDb结构表示,其中,redisDb结构的dict字典保存了数据库中的所有键值对,我们将这个字典称为键空间(key space):typedef struct redisDb { // ... dict *dict;//数据库键空间,保存着数据...

2019-11-25 21:10:09 1568

原创 Redis(设计与实现):16---数据库之服务器中的数据库(struct redisDb、dbnum属性、database选项、db属性、SELECT命令)

一、服务器中的数据库Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库:struct redisServer { // ... redisDb *db; // 一个数组,保存着服务器中的所有数据库 // ...};...

2019-11-25 20:47:42 510

原创 C++(数据结构与算法):11---线性表的实现(循环链表形式)

一、循环链表介绍下面有两条措施,它们可以使链表的应用代码简介和高效: ①把线性表描述成一个单向循环链表(简称循环链表),而不是单链表 ②在链表的前面增加一个节点,称为头结点。只要将单向链表的尾节点和头结点连接起来,单链表就成为循环链表 下图是循环链表的示意图:二、编码实现使用头结点的链表非常普遍,这样可以使程序更简洁、运行速度更快 假定类circularListWith...

2019-11-25 20:16:35 472

原创 C++(数据结构与算法):10---线性表的实现(单链表形式)

一、用单链表实现线性表前面的文章(https://blog.csdn.net/qq_41453285/article/details/103198828、https://blog.csdn.net/qq_41453285/article/details/103208499)我们分别使用数组、vector的方式实现了线性表,本文我们可以使用单链表来实现线性表二、编码实现线性表类实现(cl...

2019-11-25 15:55:06 920

原创 Redis(设计与实现):15---对象之空转时长(OBJECT IDLETIME命令、lru属性、maxmemory选项)

一、概念(lru属性)redisObject结构包含的最后一个属性为lru属性,该属性记录了对象最后一次被命令程序访问的时间typedef struct redisObject { // ... unsigned lru:22; // ...} robj;二、空转时长(OBJECT IDLETIME命令)OBJECT IDLETIME命令可以打印出给定键的...

2019-11-25 13:40:37 675

原创 Redis(设计与实现):14---对象之内存回收与对象共享(refcount属性、REDIS_SHARED_INTEGERS常量)

一、内存回收概念:因为C语言并不具备自动内存回收功能,所以Redis在自己的对象系统中构建了一个引用计数(reference counting)技术实现的内存回收机制,通过这一机制,程序可以通过跟踪对象的引用计数信息,在适当的时候自动释放对象并进行内存回收refcount属性每个对象的引用计数信息由redisObject结构的refcount属性记录:typedef struct ...

2019-11-25 13:33:57 644

原创 Redis(设计与实现):13---对象之类型检查与命令多态

Redis中用于操作键的命令基本上可以分为两种类型:①其中一种命令可以对任何类型的键执行,比如说DEL命令、EXPIRE命令、RENAME命 令、TYPE命令、OBJECT命令等 ②而另一种命令只能对特定类型的键执行,比如说: SET、GET、APPEND、STRLEN等命令只能对字符串键执行; HDEL、HSET、HGET、HLEN等命令只能对哈希键执行 RPUSH、LPOP、L...

2019-11-25 13:19:37 341

原创 Redis(设计与实现):12---对象之有序集合对象(zset)

待续

2019-11-25 13:06:26 408

原创 Redis(设计与实现):11---对象之集合对象(set)

一、集合对象的编码集合对象的编码可以是intset或者hashtableintset型编码ntset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在 整数集合里面 举个例子,以下代码将创建一个如下图所示的intset编码集合对象:hashtable型编码hashtable编码的集合对象使用字典作为底层实现 字典的每个键都是一个字符串对象,每...

2019-11-25 13:05:17 437

原创 Redis(设计与实现):10---对象之哈希对象(hash)

一、哈希对象的编码哈希对象的编码可以是ziplist或者hashtableziplist型编码ziplist编码的哈希对象使用压缩列表作为底层实现 每当有新的键值对要加入到哈希对象 时,程序会先将保存了键的压缩列表节点推入到压缩列表表尾,然后再将保存了值的压缩列表节点推入到压缩列表表尾,因此: 保存了同一键值对的两个节点总是紧挨在一起,保存键的节点在前,保存值的节点在 后 先添...

2019-11-25 12:58:17 618

原创 Redis(设计与实现):09---对象之列表对象(list)

一、列表对象的编码列表对象的编码可以是ziplist或者linkedlistziplist型编码ziplist编码的列表对象使用压缩列表作为底层实现,每个压缩列表节点(entry)保存了一个列表元素 举个例子,如果我们执行以下RPUSH命令,那么服务器将创建一个列表对象作为numbers键的值,如果numbers键的值对象使用的是ziplist编码,这个值对象将会是下图所展示的样子:...

2019-11-25 11:24:29 659

原创 Redis(设计与实现):08---对象之字符串对象(string)

一、字符串的编码字符串对象的编码可以是int、raw或者embstr①int型编码如果一个字符串对象保存的是整数值,并且这个整数值可以用long类型来表示,那么字 符串对象会将整数值保存在字符串对象结构的ptr属性里面(将void*转换成long),并将字符串对象的编码设置为int 举个例子,如果我们执行以下SET命令,那么服务器将创建一个int编码的字符串对象作为number键...

2019-11-25 11:10:51 391

原创 Redis(设计与实现):07---对象之类型与编码(struct redisObject)

一、对象介绍在前面的文章里,我们陆续介绍了Redis用到的所有主要数据结构,比如简单动态字 符串(SDS)、双端链表、字典、压缩列表、整数集合等等 Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都用到了至少一种我们前面所介绍的数据结构 优点: 通过...

2019-11-24 15:42:35 428

原创 Redis(设计与实现):06---数据结构之压缩列表(ziplist、struct ziplist)

一、压缩列表在Redis中的应用压缩列表(ziplist)是列表键和哈希键的底层实现之一 当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用 压缩列表来做列表键的底层实现 例如,执行以下命令将创建一个压缩列表实现的列表键(列表键里面包含的都是1、3、5、10086这样的小整数值,以及"hello"、"world"这样的短 字符串...

2019-11-24 14:32:59 383

原创 Redis(设计与实现):05---数据结构之跳跃表(skiplist、struct zskiplistNode、struct zskiplist)

一、跳跃表介绍跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的 指针,从而达到快速访问节点的目的 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来 批量处理节点 在大部分情况下,跳跃表的效率可以和平衡树相媲美,并且因为跳跃表的实现比平衡树 要来得更为简单,所以有不少程序都使用跳跃表来代替平衡树二、跳跃表在Redis中...

2019-11-24 13:56:10 433

原创 Redis(设计与实现):04---数据结构之整数集合(intset、struct intset)

一、整数集合在Redis中的应用整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现 举个例子,如果我们创建一个只包含五个元素的集合键,并且集合中的所有元素都是整 数值,那么这个集合键的底层实现就会是整数集合:redis> SADD numbers 1 3 5 7 9(intege...

2019-11-24 13:55:35 402

原创 Redis(设计与实现):03---数据结构之字典(hashtable、struct dictht、struct dictEntry、struct dict)

一、字典介绍字典,又称为符号表(symbol table)、关联数组(associative array)或映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构 在字典中,一个键(key)可以和一个值(value)进行关联(或者说将键映射为值), 这些关联的键和值就称为键值对 字典中的每个键都是独一无二的,程序可以在字典中根据键查找与之关联的值,或者通过键来...

2019-11-24 11:14:54 734

SGI STL源码.zip

SGI STL的源代码,【免费下载】请查阅文章中的介绍:https://dongshao.blog.csdn.net/article/details/103506895

2020-08-26

QQChat.zip

Qt实现QQ聊天,编码介绍参阅CSDN链接:https://blog.csdn.net/qq_41453285/article/details/100527346。

2020-08-06

matrix.zip

矩阵的数组实现方式,使用见文章:https://blog.csdn.net/qq_41453285/article/details/103264337

2019-11-26

vrctorList.zip

用vector实现的线性表,代码介绍可以参见博客:https://blog.csdn.net/qq_41453285/article/details/103208499

2019-11-23

arrayList.cpp

用数组实现的线性表,代码介绍可以参见博客:https://blog.csdn.net/qq_41453285/article/details/103198828

2019-11-23

arrayList.zip

用数组实现的线性表,代码介绍可以参见博客:https://blog.csdn.net/qq_41453285/article/details/103198828

2019-11-22

USB DNW.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:https://blog.csdn.net/qq_41453285/article/details/103016175、https://blog.csdn.net/qq_41453285/article/details/103016417

2019-11-11

01.OpenOCD with GUI setup.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:https://blog.csdn.net/qq_41453285/article/details/103008185、https://blog.csdn.net/qq_41453285/article/details/103003691

2019-11-11

OpenJTAG.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:https://blog.csdn.net/qq_41453285/article/details/103003691

2019-11-11

openwrt-17.01.4-17.01.4.zip

openwrt-17.01.4-17.01.4的源码,下载之后进行编译安装,详细的源码安装步骤见文章:https://blog.csdn.net/qq_41453285/article/details/102499225

2019-10-16

LinEnum-master.rar

LinEnum.sh提权脚本。具体使用见CSDN文章:https://blog.csdn.net/qq_41453285/article/details/101104225

2019-09-21

webshell b374k.zip

B374k WebShell的搭建使用,具体使用方法见文章:https://blog.csdn.net/qq_41453285/article/details/101025240

2019-09-19

HTTPS单向认证通信

HTTPS的单向认证通信,代码解压之后make编译,之后根据CSDN博客的内容进行运行:https://blog.csdn.net/qq_41453285/article/details/99708086(备注:单向认证) 备注:此资源缺少一个client.c文件,下载时联系博客小编

2019-09-14

PthreadPool.zip

针对于高并发服务器的线程池设计,采用3线程2池技术,详情介绍见CSDN博客:https://blog.csdn.net/qq_41453285/article/details/99708377

2019-09-14

XSS测试平台.zip

XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台

2019-08-06

sqIi-labs,SQL注入平台

sqIi-labs:是一款学习SQL注入的开源平台,共有75种不同类型的注入 解压密码:ms08067.com sqIi-labs的使用文章见:https://blog.csdn.net/qq_41453285/article/details/100827739

2019-08-06

DVWA-master.zip

DVWA是一款开源的渗透测试漏洞练习平台,其中内含XSS、SQL注入、文件上传、文件包含、CSRF和暴力破解等各个难度的测试环境

2019-08-06

wampserver2.5.zip

WAMP是Windows中Apache、MySQL和PHP的应用环境,此文档为wampserver2.5

2019-08-06

glibc-2.27.tar.gz

glibc的2.27的源码,如果想要研究堆块的,可以看本文的博客:https://blog.csdn.net/qq_41453285/category_9150569.html

2019-07-22

深度寻路.cpp

深度寻路的.cpp,含有注释,里面使用到的Stack.h也在我的资源中,也可下载

2018-10-22

pthread_pool2.zip

线程池的实现。【免费下载方式】请参阅文章中的介绍:https://dongshao.blog.csdn.net/article/details/106622568。

2020-12-20

binarySearchTree.zip

二叉搜索树的链表形式实现,代码讲解见文章:https://blog.csdn.net/qq_41453285/article/details/103963343。 如果没有积分,关注公众号"多栖技术控小董",把资源链接和邮箱发给我(注:资源链接和邮箱放在同一个消息中发出去,别分开发)。10小时之内免费发给你。

2020-01-23

linkedBinaryTree.zip

二叉树的链表形式实现,代码讲解见文章:https://blog.csdn.net/qq_41453285/article/details/103638694

2020-01-22

completeWinnerTree.zip

赢者树的代码实现,代码讲解可以参见文章:https://blog.csdn.net/qq_41453285/article/details/103649141

2020-01-12

maxHblt.zip

高度优先左高树(HBLT)的实现,代码讲解见文章:https://blog.csdn.net/qq_41453285/article/details/103643863

2019-12-22

maxHeap.zip

使用最大堆实现优先级队列,代码讲解见文章:https://blog.csdn.net/qq_41453285/article/details/103639243。 如果没有积分,关注公众号"多栖技术控小董",把资源链接和邮箱发给我(注:资源链接和邮箱放在同一个消息中发出去,别分开发)。10小时之内免费发给你。

2019-12-21

arrayTree.zip

完全二叉树的数组实现,代码讲解见文章:https://blog.csdn.net/qq_41453285/article/details/103561197

2019-12-16

hashChains.zip

散列链地址法,详细介绍见文章:https://blog.csdn.net/qq_41453285/article/details/103534526

2019-12-15

SGI STL源码.zip

SGI STL的源代码,【免费下载方式】请查阅文章中的介绍:https://dongshao.blog.csdn.net/article/details/103506895

2019-12-14

hashTable.zip

哈希冲突的线性探查法,详细介绍见文章:https://blog.csdn.net/qq_41453285/article/details/103533372

2019-12-13

skipList.zip

跳表的C++实现,具体介绍可以参见文章:https://blog.csdn.net/qq_41453285/article/details/103449903

2019-12-12

sortedChain.zip

字典的链表实现,介绍见文章:https://blog.csdn.net/qq_41453285/article/details/103449056

2019-12-08

linkedQueue.zip

队列的链表实现,见文章:https://blog.csdn.net/qq_41453285/article/details/103446221

2019-12-08

arrayQueue.zip

队列的数组形式实现,见文章:https://blog.csdn.net/qq_41453285/article/details/103444692

2019-12-08

linkedStack.zip

栈的链表实现,详情见文章:https://blog.csdn.net/qq_41453285/article/details/103414107

2019-12-08

derivedLinkedStack.zip

栈的链表实现,详情见文章:https://blog.csdn.net/qq_41453285/article/details/103414107

2019-12-05

arrayStack.zip

栈的数组形式实现,见文章:https://blog.csdn.net/qq_41453285/article/details/103329785

2019-12-05

derivedArrayStack.zip

栈的数组形式实现,文件见:https://blog.csdn.net/qq_41453285/article/details/103329785

2019-12-05

squareMatrix.zip

特殊矩阵的实现,C++实现。具体见文章:https://blog.csdn.net/qq_41453285/article/details/103258171

2019-11-30

单链表chain.zip

线性表的单向链表实现方式,使用见文章:https://blog.csdn.net/qq_41453285/article/details/103218024

2019-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除