自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

董哥的黑板报

永远年轻,永远奋斗!

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

原创 C++:52---可变参数模板(参数包(模板参数包、函数参数包)、包扩展、转发参数包)

一、可变参数模板概述一个可变参数模板就是:一个接受可变数目参数的模板函数或模板类 可变数目的参数被称为参数包。存在两种参数包: 模板参数包:表示零个或多个模板参数 函数参数包:表示零个或多个函数参数 语法格式: 用一个省略号来指出一个模板参数或函数参数表示一个包 在模板参数列表中:class...或typename...指出接下来的参数表示零个或多个类型的列表;一个类型名后...

2020-02-26 14:53:47 5047

原创 C++:51---重载与模板、模板特例化

待续

2020-02-25 21:17:25 1057

原创 C++:50---模板实参推断(附加:模板显式实参、type_traits、引用折叠、move()、forward())

一、模板实参推断概述对于函数模板,编译器利用调用中的函数实参来确定其模板参数。从函数实参来确定模板实参的过程称为“模板实参推断” 在模板实参推断过程中,编译器使用函数调用中的实参类型来寻找模板实参,用这些模板实参生成的函数版本与给定的函数调用最为匹配二、类型转换与模板类型参数类型转换与非模板函数一样,我们再一次调用中传递给函数模板的实参被用来初始化函数的形参。如果一个函数形参的类...

2020-02-24 21:19:47 2869 1

原创 Linux(内核剖析):38---内存管理之(页(struct page)、区(struct zone))

一、页内核把物理页作为内存管理的基本单位。尽管处理器的最小可寻址单位通常为字(甚至字节),但是,内存管理单元(MMU,管理内存并把虚拟地址转换为物理地址的硬件)通常以页为单位进行处理。正因为如此,MMU以页(page)大小为单位来管理系统中的页表(这也是页表名的来由)。从虚拟内存的角度来看,页就是最小单位 在后面“可移植性”中我们将会看到,体系结构不同,支持的页大小也不尽相同,还有些体系结构...

2020-02-24 15:30:29 3300

原创 C++(数据结构与算法):55---无权图与有权图的描述(邻接矩阵、邻接链表、邻接数组、十字链表、邻接多重表)

图的基本概念参阅:https://blog.csdn.net/qq_41453285/article/details/104151973 无向图最常用的描述方法都是基于邻接的方式:邻接矩阵、邻接链表、邻接数组一、邻接矩阵邻接矩阵的定义一个n顶点图G=(V,E)的邻接矩阵是一个n*n的矩阵(假设是A),其中每个元素都是0或1.假设V={1,2,3,...,n} 如果G是一个无向图,则...

2020-02-23 19:23:07 3776

原创 C++(数据结构与算法):54---图的总体概述、图的各种术语、特性

接下来的几篇文章会介绍如下的内容: 图的术语:顶点、边、邻接、关联、度、回路、路径、连通构件、生成树 图的类型:无向图、有向图、加权图 图的常用描述方法:邻接矩阵、矩阵邻接表、邻接链表 图的标准搜索方法:广度优先搜索、深度优先搜索 图的算法:寻找图的路径、寻找无向图的连通构件、寻找连通无向图的生成树 一、顶点、边、有向边、无向边、有向图、无向图简单地说,图(Graph)是...

2020-02-23 09:48:12 1610

原创 C++(数据结构与算法):53---平衡搜索树之B-树

一、索引顺序访问方法当字典足够小时,可以整个驻留在内存中时,AVL树和红黑树都能够保证良好的时间性能。对于那些必须存储在磁盘上的大型字典(外部字典或文件),需要度数更高的搜索树来改善字典操作的性能。在研究这样的搜索树之前,先看一下外部字典的索引顺序访问方法(ISAM)。这种方法对顺序和随机访问都具有良好的时间性能块的概念在ISAM方法中,可用的磁盘空间被划分为很多块 块是在磁盘空间中...

2020-02-23 09:46:44 1080

原创 Effective C++条款28:实现之(避免返回handles指向对象内部成分)

一、概述演示案例下面是一些关于图形的类 Point是用来表示坐标中的点;RectData代表矩形的左上角与右上角;Rectangle用来管理矩形,其中有一个RectData成员变量class Point { //点public: Point(int x, int y); void setX(int newVal); void setY(int newVa...

2020-02-23 09:16:56 787

原创 Effective C++条款27:实现之(尽量少做转型动作)

总结如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_cast。如果有个设计需要转型动作,试着发展无需转型的替代设计 如果转型是必须的,试着将它隐藏于某个函数背后。客户随后可以调用该函数,而不需要将转型放进它们自己的代码 宁可使用新式的转型,不要使用旧式转型。前者很容易辨别出来,而且也比较有着分门别类的职掌...

2020-02-23 09:16:51 757

原创 C++:94---类继承(菱形继承、虚继承(virtual虚基类))

一、菱形继承在介绍虚继承之前介绍一下菱形继承 概念:A作为基类,B和C都继承与A。最后一个类D又继承于B和C,这样形式的继承称为菱形继承 菱形继承的缺点: 数据冗余:在D中会保存两份A的内容 访问不明确(二义性):因为D不知道是以B为中介去访问A还是以C为中介去访问A,因此在访问某些成员的时候会发生二义性 缺点的解决: 数据冗余:通过下面“虚继承”技术来解决(见下) 访问...

2020-02-22 13:38:26 7555 3

原创 C++:93---类继承(多重继承)

一、多重继承概念多重继承是指:从多个直接基类而产生派生类的能力 例如:class ZooAnimal {}; //动物class Endangered {}; //濒临灭绝的动物class Bear :public ZooAnimal {}; //熊//多重继承class Panda :public Bear, public Endangered {}; //熊猫...

2020-02-22 11:58:52 767

原创 C++:92---类继承(继承中的构造函数、析构函数、拷贝控制一系列规则)

一、继承中的构造函数根据构造函数的执行流程我们知道: 派生类定义时,先执行基类的构造函数,再执行派生类的构造函数 拷贝构造函数与上面是相同的原理 二、继承中的析构函数根据析构函数的执行流程我们知道: 派生类释放时,先执行派生类的析构函数,再执行基类的析构函数 二、继承中被删除的函数的语法基类或派生类可以将其构造函数或者拷贝控制成员定义为删除的。此外,某些定义基类的方...

2020-02-22 10:13:54 1543 1

原创 C++:91---类继承(继承中类的作用域(附加:隐藏、重写(覆盖)))

待续

2020-02-22 10:13:42 914

原创 C++:49---对象移动(右值引用(&&)、移动构造函数、移动赋值运算符、引用限定函数)

一、对象移动概述C++11标准引入了“对象移动”的概念 对象移动的特性是:可以移动而非拷贝对象 在C++旧标准中,没有直接的方法移动对象。因此会有很多不必要的资源拷贝 标准库容器、string、share_ptr类既支持移动也支持拷贝。IO类和unique_ptr类可以移动但不能拷贝对象移动的特点在很多情况下会发生对象拷贝的现象,对象拷贝之后就被销毁了,在这种情况下,对象移动而非...

2020-02-21 16:05:42 2305

原创 C++:48---交换操作(为类设置一个swap函数)

这段代码来自前一篇文章(https://blog.csdn.net/qq_41453285/article/details/104393845),作为本篇文章讲解的基础class HasPtr {public: HasPtr(const std::string &s = std::string()) :ps(new std::string(s)), i(0)...

2020-02-21 14:39:53 1229 1

原创 STL配接器原理详解——仿函数配接器(function adapters)

待续

2020-02-20 12:52:13 1175

原创 STL配接器原理详解——迭代器配接器(iterator adapters)

一、配接器介绍STL提供的各种配接器中: 改变仿函数接口者:称为function adapter 改变容器接口者:称为container adapter 改变迭代器接口者:称为iterator adapter 二、迭代器配接器介绍待续...

2020-02-19 21:06:25 1300

原创 C++:47---拷贝控制与资源管理(拷贝构造函数、拷贝赋值运算符(operator=))

一、拷贝控制与资源管理拷贝构造函数:https://blog.csdn.net/qq_41453285/article/details/88866650 拷贝赋值运算符:https://blog.csdn.net/qq_41453285/article/details/88866703 前面我们总结了一个定义:只要一个类型定义有析构函数,那么我们几乎可以肯定这个类也需要一个拷贝构造函数与一...

2020-02-19 15:22:29 824

原创 MySQL(InnoDB剖析):55---性能调优之(操作系统的选择、不同文件系统对数据库性能的影响)

待续

2020-02-19 11:07:38 796

原创 MySQL(InnoDB剖析):54---性能调优之(合理地设置RAID)

待续

2020-02-19 11:03:27 860

原创 MySQL(InnoDB剖析):53---性能调优之(CPU的选择、内存的重要性、磁盘对数据库性能的影响)

一、CPU的选择用户首先需要清楚当前数据库的应用类型。一般而言,可分为两大类:OLTP(Online Transaction Processing,在线事务处理)和OLAP(Online analytical Processing,在线分析处理)。这是两种截然不同的数据库应用 OLAP多用在数据仓库或数据集市中,一般需要执行复杂的SQL语句来进行查询 OLTP多用在日常的事物处理应用中,......

2020-02-19 10:11:43 1952

原创 MySQL(InnoDB剖析):52---备份与恢复之(复制)

待续

2020-02-19 10:11:19 1726

原创 MySQL(InnoDB剖析):51---备份与恢复之(快照备份(lvcreate、lvdisplay))

待续

2020-02-19 09:56:47 1041

原创 MySQL(InnoDB剖析):50---备份与恢复之(热备份:ibbackup、XtraBackup)

一、ibbackup二、XtraBackup三、XtraBackup实现增量备份待续

2020-02-18 19:59:48 794

原创 MySQL(InnoDB剖析):49---备份与恢复之(二进制日志备份(mysqlbinlog)、冷备份)

一、二进制日志文件备份与恢复二进制日志非常关键,用户可以通过它完成point-in-time的恢复工作。MySQL数据库的replication同样需要二进制日志开启二进制日志默认情况下并不启用二进制日志 要使用二进制日志必须首先启用它,在配置文件中进行如下的配置:在前面介绍过,对于InnoDB只简单启用二进制日志是不够的,还需要启用一些其他参数来保证最为安全和正确地记录二进......

2020-02-18 17:14:33 726

原创 MySQL(InnoDB剖析):48---备份与恢复之(逻辑备份:mysqldump、select...into outfile、load data infile、mysqlimport)

一、mysqldumpmysqldump工具最初由Ifor Romanenko编写完成,通常用来完成转存数据库的备份及不同数据库之间的移植,如从MySQL低版本数据库升级到MySQL高版本数据库,又或者从MySQL数据库移植到Oracle、SQL Server等该工具使用的注意事项①mysqldump工具是MySQL外命令行使用的,不是在MySQL数据库启动使用的 ②该工具使用时需要......

2020-02-18 16:58:24 806

原创 STL配接器原理详解——容器配接器(container adapters)

一、配接器介绍STL提供的各种配接器中: 改变仿函数接口者:称为function adapter 改变容器接口者:称为container adapter 改变迭代器接口者:称为iterator adapter 二、容器配接器介绍STL提供的两个容器queue和stack,其实都只是配接器而已 它们都是修饰deque的接口而形成另一种容器风格 queue和stack源码在...

2020-02-18 14:59:30 1212

原创 Linux(内核剖析):37---时间管理之(延迟执行)

待续

2020-02-18 13:07:51 747

原创 Linux(内核剖析):36---时间管理之(硬时钟和定时器、时钟处理中断程序、实际时间)

待续

2020-02-18 13:06:33 735

原创 Linux(内核剖析):35---时间管理之(节拍率HZ)

待续

2020-02-18 13:00:26 1224 1

原创 MySQL(InnoDB剖析):47---备份与恢复总体概述

一、根据不同的类型来划分备份根据不同的类型来划分备份的方法,可以分为以下几种: Hot Backup(热备) Cold Backup(冷备) Warm Backup(温备) Hot Backup(热备)是指在数据库运行时进行直接备份,对正在运行的数据库没有任何影响 这种方法在MySQL官方手册中被称为Online Backup(在线备份)Cold Backup(冷备)......

2020-02-18 12:49:52 575

原创 MySQL(InnoDB剖析):46---事务之(长事务)

长事务概述长事务,就是执行时间较长的事务 比如,对于银行系统的数据库,每过一个阶段可能需要更新对应账户的利息。如果对应账号的数量非常大,例如对有1亿用户的表account,需要执行下列语句:这时这个事务可能需要非常长的时间来完成。可能需要1个小时,也可能需要4、5个小时,这取决于数据库的硬件配置 DBA和开发人员本身能做的事情非常少。然而,由于事务的ACID的特性,这个操作被封装在一......

2020-02-18 12:05:12 1025

原创 MySQL(InnoDB剖析):45---事务之(不好的事务习惯:在循环中提交、使用自动提交、使用自动回滚)

一、在循环中提交开发人员喜欢在循环中进行事务提交,这种方法有两个缺点:出现错误难处理以及效率低演示案例创建一个表create table t1( a int not null, b varchar(80))engine=innodb;下面一个存储过程delimiter //create procedure load1(count int unsig......

2020-02-18 11:55:03 1277

原创 MySQL(InnoDB剖析):44---事务之(XA事务(分布式事务))

一、MySQL数据库分布式事务InnoDB存储引擎提供了对XA事务的支持,并通过XA事务来支持分布式事务的实现 分布式事务指的是:允许多个独立的事务资源参与到一个全局的事务中。事务资源通常是关系型数据库系统,但也可以是其他类型的资源 全局事务要求在其中的所有参与的事务要么都提交,要么都回滚,这对于事务原有的ACID要求又有了提高。另外,在使用分布式事务时,InnoDB的事务隔离级别必须设置......

2020-02-18 10:58:58 1730

原创 MySQL(InnoDB剖析):43---事务之(事务隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE)

ISO和ANIS SQL标准指定了4种事务隔离级别的标准,但是很少有数据库厂商循环这些标准。例如Oracle数据库就不支持READ UNCOMMITTED和REPEATABLE READ SQL标准定义的四个隔离级别为: READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE 一、总体概述READ UNCOM......

2020-02-17 17:46:50 1013

原创 MySQL(InnoDB剖析):42---事务之(事务控制语句:begin、commit、rollback、savepoint、transaction)

一、事务的自动提交默认情况下,没有使用begin显式开启事务,事务都是自动提交的autocommit变量该变量用于控制SQL语句是否自动提交(auto commit) 默认值为1,表示自动提交 设置为0后,需要自己手动使用commit或rollback来结束事务-- SQL语句自动提交(默认值)set autocommit=1;-- SQL语句不自动提交set auto......

2020-02-17 16:48:46 2503

原创 MySQL(InnoDB剖析):41---事务之(事务的实现:purge、group commit)

一、purgedelete和update操作可能并不直接删除原有的数据例如前一篇文章演示案例中:https://blog.csdn.net/qq_41453285/article/details/104346372 对表t执行下面的SQL语句。其中a字段为聚集索引,b字段为辅助索引delete from t where a=1;对于上述的delete操作,通过前面关于undo......

2020-02-17 12:49:15 699

原创 MySQL(InnoDB剖析):40---事务之(事务的实现:undo log(回滚日志))

事务隔离性可以使用前面介绍的锁来实现。原子性、一致性、持久性通过数据库的redo log和undo log来完成: redo log:称为重做日志。用来保证事务的原子性和持久性 undo log:用来保证事务的一致性 redo和undo的作用都可以视为一种恢复操作: redo恢复提交事务修改的页操作 undo回滚行记录到某个特定版本 因此两者记录的内容也不同: redo通......

2020-02-17 11:12:11 2135

原创 Effective C++条款26:实现之(尽可能延后变量定义式的出现时间)

一、变量定义的成本只要你定义一个变量,该变量带有构造函数与析构函数,那么: 当你定义这个变量时就要执行它的构造函数 变量生命周期结束后就要执行他的析构函数 二、尽量延迟变量定义的时间变量定义需要执行构造与析构函数,因此在某些情况下为了提高程序的效率,应该延迟变量定义的时间。请看下面的演示案例:演示案例下面定义一个函数,用来对密码进行加密,如果参数传入的密码过段就抛出一个...

2020-02-17 10:11:21 817

原创 Effective C++条款25:设计与声明之(考虑写出一个不抛异常的swap函数)

待续

2020-02-16 15:22:09 723

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

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