自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

董哥的黑板报

永远年轻,永远奋斗!

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

原创 C++(数据结构与算法):63---分支定界、分支定界应用(货箱装载、0/1背包问题、最单完备子图、旅行商问题、电路板排列)

一、前言寻找问题的解的一种可靠的方法: 是首先列出所有候选解,然后逐个,在检查完所有或部分候选解之后,即可找到所需要的解 理论上,只要候选解数量有限,并且在检查了所有或部分候选解之后可以确定所需解。 这种方法是可行的。不过在实际应用中,很少使用这种方法, 因为候选解的数量通常都非常大(比如指数级,甚至是大数阶乘),即便采用最快的计算机,也只能对实例规模相当小的问题在合理的时间内解...

2020-04-28 19:31:44 997

原创 C++(数据结构与算法):62---回溯法、回溯法应用(货箱装载、0/1背包问题、最大完备子图、旅行商问题、电路板排列)

待续

2020-04-28 18:25:53 1152

原创 C++(数据结构与算法):61---动态规划、动态规划应用(0/1背包、矩阵乘法链、所有顶点对之间的最短路径、带有负值的单源最短路径、网组的无交叉子集)

一、动态规划的思想动态规划的基础是最优原理 动态规划和贪婪算法一样,对一个问题的解是一系列抉择的结果 在贪婪算法中,我们依据贪婪准则做出的每一个抉择都是不可撤销的 在动态规划中,我们要考察一系列抉择,以确定一个最优抉择序列是否包含最优抉择子序列 二、实际应用之最短路径问题描述我们要选择一条从源点s=1到目的顶点d=5的最短路径动态规划的解决思想第一步:可以选...

2020-04-28 14:05:26 947

原创 项目(百万并发网络通信架构)11.2---将消息的接收与发送分离

一、前言在前面的文章中,我们的服务端在接收到客户端的数据之后,对数据处理完会给客户端回送一个消息,这种做法实际上是低效的,因为在数据recv()接收之后再去调用send(),那么当send()阻塞或速度过慢时,会导致当前线程无法继续向前执行或执行较慢,那么会影响后面recv()的再次调用,从而降低服务端的性能,而且会使缓冲区膨胀二、将消息的接收与发送分离方案我们将recv()之后给客户端...

2020-04-26 14:56:32 1892 3

原创 项目(百万并发网络通信架构)11.1---修改数据接收缓冲区、新增数据发送缓冲区

一、修改数据接收缓冲区在前面的两篇文章中,我们分别为服务端和客户端都设计了数据的接收缓冲区,那两篇文章中的设计中,分别建立了两个缓冲区,一个缓冲区用来先存储从recv()中接收到的数据,然后再拷贝到另外一个缓冲区中进行处理,本文将两个缓冲区改为只只用一个缓冲区。可以参阅:https://blog.csdn.net/qq_41453285/article/details/105405445、ht...

2020-04-26 10:43:01 1003

原创 项目(百万并发网络通信架构)10.4---服务端数据收发的性能瓶颈

前言现在我们把服务端和客户端的代码修改一下,修改为两者互相发送与接收数据一、服务端最终代码主要就是修改CellServer::OnNetMessage()中的代码,使其在接收到数据之后返回数据给客户端#ifndef _EasyTcpClient_hpp_#define _EasyTcpClient_hpp_#ifdef _WIN32 #define FD_SETSIZE 10...

2020-04-24 21:51:37 985

原创 项目(百万并发网络通信架构)10.3---send()函数的极限测试

前言本文进行send()函数的测试,查看在不同的情况下send()函数每秒大概可以执行多少次 因为是对send()函数测试,所以我们用客户端给服务器send()发送数据,不接收数据;服务端只使用recv()函数接收数据,但是不给客户端发送数据 我们使用client给server发送大量数据,但是将client中的send()函数参数3改为1,因此每次只发送1个字节的数据,但是因为单个数据包...

2020-04-24 17:47:53 990

原创 项目(百万并发网络通信架构)10.2---recv()函数的极限测试

待续

2020-04-24 15:25:35 1848 1

原创 项目(百万并发网络通信架构)10.1---服务端select的性能瓶颈与优化

一、测试场景本文测试1000个客户端连接服务端,客户端只发送数据,服务端只接收数据,一方发送一方接收二、客户端的代码如下EasyTcpClient.hppEasyTcpClient.hpp代码没有变化,如下所示#ifndef _EasyTcpClient_hpp_#define _EasyTcpClient_hpp_#ifdef _WIN32 #define WIN32...

2020-04-23 09:42:27 1015

原创 项目(百万并发网络通信架构)9.4---多线程客户端服务端最终代码测试

前言前面几篇文章改造好了客户端与服务端的代码,本文进行测试 服务端是多线程的,其业务逻辑代码中用到了多线程 客户端的业务逻辑代码不是多线程的,只是其测试代码main函数中用到了多线程一、测试10000客户端连接客户端测试代码如下这个代码在前面文章介绍过,此处只是将客户端的数量cCount变量改为了10000#include "EasyTcpClient.hpp"#incl...

2020-04-22 16:34:09 1173

原创 项目(百万并发网络通信架构)9.3---将服务端改造为多线程(生产者-消费者模式)

一、分离客户端连接与消息处理业务主要的操作有: 建立一个CellServer()类 让CellServer()类处理客户端的消息 #ifndef _EasyTcpClient_hpp_#define _EasyTcpClient_hpp_#ifdef _WIN32 #define FD_SETSIZE 2048 #define WIN32_LEAN_AND_MEAN #...

2020-04-22 16:22:49 989 2

原创 C++(标准库):51---并发之(原子操作:atomic)

本文先介绍atomic的高层接口:它所提供的操作将使用默认保证,不论内存访问次序如何。这个默认保证提供了顺序一致性,意思是在线程之中atomic操作保证一定“像代码出现的次序”那样地发生 然后再介绍atomic的底层接口:带有“放宽之次序保证”的操作 C++标准库并不区分atomic的高层或底层接口: 底层是Hans Boehm说的,他是这个程序库的作者之一 某些时候atomic底层接口...

2020-04-19 12:50:16 4166

原创 C++(标准库):50---并发之(条件变量:condition_variable、condition_variable_any)

一、Condition Variable(条件变量)的意图在前文的文章中(详情见“八”:https://blog.csdn.net/qq_41453285/article/details/105602105),我们有一个演示案例,让某线程等待另一线程,其使用的办法是使用ready flag的方法。代码如下:bool readyFlag;std::mutex readyFlagMutex;...

2020-04-19 10:41:48 2327

原创 C++(标准库):49---并发之(一次调用:std::once_flag、std::call_once)

一、先来看一些例子有些代码中,某些代码会被多线程使用,但是当一个线程使用之后,其他线程就不能再去使用了 例如: 下面的代码会调用一个initialize()初始化函数对某些东西进行初始化,当一个线程去初始化之后,另外的线程再次执行时就不需要再次去初始化了 但是在多线程环境下,下面的if会造成data race,因为多个线程可能同时执行到了if,并且没有任何措施,导致都执行了if,因此造...

2020-04-18 20:31:52 1425

原创 C++(标准库):48---并发之(互斥体mutex、lock_guard、recursive_mutex、timed_mutex、recursive_timed_mutex、unique_lock)

一、mutexmutex全名mutual exclusion(互斥体),是个object,用来协助采取独占排他方式控制“对资源的并发访问” 例如,下面对一份资源进行锁定void f(int val);int val; //共享资源std::mutex valMutex; //互斥体void func(){ //锁定,然后操作共享资源 v...

2020-04-18 17:55:55 1592 1

原创 C++(标准库):47---并发之(thread_thread命名空间)

针对任何线程(包括主线程),<thread>声明了一个命名空间std::this_thread,用以提供线程专属的global函数 支持的操作如下:sleep_for()、sleep_until()当处理系统时间调整时,sleep_for()和sleep_until()往往不同。(详情见此篇文章中的“七”:https://blog.csdn.net/qq_41453285...

2020-04-18 13:20:52 727

原创 C++(标准库):46---并发之(细说启动线程:async、future、shared_future、promise、packaged_task、thread)

待续

2020-04-18 13:06:23 2708

原创 C++(标准库):45---并发之(底层接口thread()、promise、packaged_task)

除了前一篇文章介绍的高级接口async()和(shared)future,C++标准库还提供了一个启动及处理线程的底层接口一、threadthread概述thread可以用来启动一个线程,其参数也接受一个callable object(函数、成员函数、函数对象、lambda) callable object的传参方式与saync()一样,并且也有传值调用和传引用调用的方式,详情可以参...

2020-04-17 21:30:17 1025 1

原创 C++(标准库):44---并发之(高级接口async()、futrue、shared_future)

待续

2020-04-16 22:04:20 1170 1

原创 C++(标准库):43---string字符串

一、string简介概念:string表示可变长的字符序列,string作为标准库的一部分 使用前需要导入头文件与命名空间,string定义在std中#include <string>using std::string;二、string对象的初始化1.几种初始化方式string s1; //默认初始化,s1是一个空串string s2(s1);strin...

2020-04-13 13:25:34 1169

原创 ​​​​C++(标准库):42---STL算法之(数值算法)

2020-04-13 13:20:40 494

原创 C++(标准库):41---STL算法之(已排序区间算法)

2020-04-13 13:20:07 518

原创 C++(标准库):40---STL算法之(排序算法)

2020-04-13 13:17:57 578

原创 C++(标准库):39---STL算法之(变序型算法)

2020-04-13 13:16:21 546

原创 C++(标准库):38---STL算法之(移除型算法)

2020-04-13 13:15:45 519

原创 C++(标准库):37---STL算法之(更易型算法)

2020-04-13 13:15:41 489

原创 C++(标准库):36---STL算法之(非更易型算法)

2020-04-13 13:15:37 485

原创 C++(标准库):35---STL算法之(for_each()算法)

待续

2020-04-13 13:14:04 1816 1

原创 C++(标准库)34---STL算法之(算法总体概述)

一、算法的头文件如果想要使用C++标准库的算法,必须包含以下头文件: 此头文件还包含了若干辅助函数:min()、max()、minmax()、iter_swap() #include <algorithm>如果STL算法用于数值运算,还需要包含下面的头文件:#include <numeric>二、算法的特殊命名后缀STL设计者为算法命名时,引入...

2020-04-13 13:12:58 846

原创 C++(标准库):33---Lambda表达式

待续

2020-04-13 12:55:09 2315

原创 C++(标准库):32---STL函数对象之(预定义的函数对象、函数适配器)

待续

2020-04-13 12:54:30 1209 1

原创 C++(标准库):31---STL函数对象之(函数对象的概念及使用)

待续

2020-04-13 12:52:54 1162 1

原创 C++(标准库):30---STL迭代器之(用户自定义迭代器)

待续

2020-04-13 12:49:20 461

原创 C++(标准库):29---STL迭代器之(迭代器的trait特性)

待续

2020-04-13 12:48:46 464

原创 C++(标准库):28---STL迭代器之(迭代器适配器(插入迭代器、流迭代器、反向迭代器、移动迭代器))

除了每个容器有自己的迭代器之外,标准库在头文件iterator中还定义了额外几种迭代器 这些迭代器包括: 插入迭代器(insert iterator):这些迭代器被绑定到一个容器上,可用来向容器插入元素 流迭代器(stream iterator):这些迭代器被绑定到输入或输出流上,可用来遍历所有关联的IO流 反向迭代器(reverse iterator):这些迭代器向后而不是向...

2020-04-13 12:47:13 535

原创 C++(标准库):27---STL迭代器之(迭代器相关辅助函数(advance()、next()、prev()、distance()、iter_swap()))

待续

2020-04-13 12:44:34 540

原创 C++(标准库):26---STL迭代器之(迭代器的5大种类(输出迭代器、输入迭代器、向前迭代器、双向迭代器、随机访问迭代器))

一、迭代器的头文件所有的容器都定义有自己的iterator类型,因此如果单单使用容器,只需要包含对应容器的头文件即可 不过有些特殊的iterator,被定义在头文件<iterator>中二、迭代器介绍类似于容器,迭代器也定义了一组公共操作: 一些操作所有迭代器都支持 另外一些只有特定类型的迭代器才支持 例如,ostream_iterator只支持递增、解引用、赋...

2020-04-13 12:43:19 1751

原创 C++(标准库):25---STL容器之(实现容器reference语义)

一、C++标准库提供的是value语义通常,所有容器都会建立元素拷贝,返回的也是元素的拷贝 STL只支持value语义,不支持reference语义。优缺点如下: 优点: 复制元素很简单 使用reference时容易出错,你必须确保reference所指对象仍然健在,并需要小心队服偶尔出现的环式指向状态 缺点: 复制元素可能会导致不良的效率,有时甚至无法复制 ...

2020-04-13 12:34:09 940 1

原创 C++(标准库):24---STL容器之(特殊容器bitset)

一、bitset概述标准库定义了bitset类,使得位运算使用更为容易,并且能够处理超过最长整型类型大小的位集合 bitset定义在头文件bitset中二、定义和初始化bitset上图给出了bitset的构造方法 低位与高位: 二进制集合的起始位置(索引为0)称为低位,往后的称为高位 注意,bitset的索引0从最右侧开始 bitset是一个类模板,类似于array类...

2020-04-13 11:20:30 680

原创 C++(标准库):23---STL容器之(容器适配器之priority_queue)

一、容器适配器概述 什么是适配器(container adapter): 一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样 容器、迭代器、函数都有适配器(本文主题是容器的适配器) 容器适配器就是通过上面这些容器底层实现,使上面那些容器能拥有一些行为和特点 标准库提供的容器适配器有: stack:栈。具有先进后出的特点。 基础语法参阅:https://bl...

2020-04-13 11:15:26 542

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关注的人

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