自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 代理模式

代理模式 代理模式,通俗点来说就是为其他对象提供一种代理以控制对这个对象的访问(《大话设计模式》)。 举个例子,假如你现在喜欢一个妹子,但是由于害羞不敢送妹子礼物,现在你有一个朋友,你就让他帮你去做这些事情(不建议这样做^ - ^),让他代理你去妹子送早餐,代理你去送花(过不了多久估计妹子就是他...

2020-01-06 19:49:46

阅读数 12

评论数 0

原创 装饰模式

装饰模式 装饰模式,就是可以动态的给一个对象添加一些额外的职责,就增加新功能来说,装饰模式比生成子类的方式更加灵活。其实可以把装饰模式理解为给一个人穿衣服的过程,给人穿衣服,所以首先得需要一个人,其次就得需要衣服了,对应到装饰模式当中,就是首先得需要一个被装饰得主体,接着就是需要装饰了。有可能并不...

2019-12-23 19:26:43

阅读数 26

评论数 0

原创 依赖倒转原则

依赖倒转原则 依赖倒转原则,意思就是抽象不应该依赖细节,细节应该依赖抽象,说白了,就是要针对接口编程,不要对实现编程。 高层模块不应该依赖底层模块。两个都应该是依赖抽象。 解释:拿电脑来说,cpu、内存等配件都属于高层模块,而主板就属于底层模块,想想,如果高层模块依赖底层模块,也就是说,cpu、...

2019-12-16 17:52:10

阅读数 13

评论数 0

原创 使用gdb查看内存

一:首先使用gdb+要调试的可执行程序,然后下断点,r 二:使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下: x/<n/f/u> n、f、u是可选的参数,表示一个内存地址 n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个单位的内容 f ...

2019-07-30 11:33:44

阅读数 43

评论数 0

原创 C++中的四种强制类型转换

一、dynamic_case 用法: dynamic_cast < type-id > ( expression ) 条件: Type-id必须是类的指针、类的引用或者void *。如果type-id是类指针类型,那么expression也必须是一个指针,如果type-id是一个引用,...

2019-07-25 19:38:36

阅读数 38

评论数 0

转载 GCC中的弱符号与强符号

GCC中的弱符号与强符号 我们经常在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将它们都初始化,那么链接器将A和B进行链接时会报错: 1 b...

2019-03-20 14:06:57

阅读数 71

评论数 0

转载 一致性哈希原理

原理 基本概念 一致性哈希算法(Consistent Hashing)最早在论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World W...

2019-03-18 17:46:52

阅读数 51

评论数 0

转载 C++11新增特性

https://blog.csdn.net/jiange_zh/article/details/79356417

2018-12-25 15:23:11

阅读数 72

评论数 0

转载 vmstat/iostat/strace/lsof等命令介绍【转载】

vmstat vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场...

2018-08-15 18:52:08

阅读数 128

评论数 0

原创 【C++学习笔记】详解C++中的三种智能指针

一、简介 由于 C++ 语言没有垃圾回收机制,程序员每次 new出来的内存都要手动 delete。程序员忘记 delete,有可能就会造成内存泄漏,程序崩溃等严重的后果。用智能指针便可以有效缓解这类问题,本文主要讲解常见的智能指针的用法。包括:std::auto_ptr、boost::scop...

2018-08-06 13:59:32

阅读数 127

评论数 1

转载 select、poll、epoll、同步、异步之间的区别总结[整理]

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll...

2018-07-26 12:07:39

阅读数 100

评论数 0

转载 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/&amp;nbsp;&amp;nb...

2018-07-23 09:28:28

阅读数 79

评论数 0

原创 Linux--深入解析IP协议

IP协议属于网络层协议,它是网络层最终要的协议,没有之一!首先我们先从IP协议的报头格式看起 IP协议报头格式 下面我们一个一个分析这些字段的意思: 4位版本号:最常见的就是IPV4和IPV6了 4位首部长度:表示IP协议首部最大长度为15*4(字节)=60(字节) 8为服务类型:这里...

2018-07-21 16:05:08

阅读数 57

评论数 0

原创 简单实现C++库中的String类

#include &lt;iostream&gt; #include &lt;string.h&gt; #pragma warning(disable: 4996) using namespace std; class String { friend os...

2018-07-21 14:01:51

阅读数 78

评论数 0

原创 C++中判断类型是否为内置类型

#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct FalseType { static bool Get() { return...

2018-07-21 13:11:34

阅读数 579

评论数 0

转载 C++中STL常见容器具体用法(转其他博客)

string C++ string的用法和例子 标准C++中的string类的用法总结 vector c++中vector的用法详解 set C++中set用法详解 list C++ List的用法(整理) map C++ Map常见用法说明 ...

2018-07-20 15:07:06

阅读数 290

评论数 1

原创 Linux--深入解析TCP协议

在谈TCP协议之前,我们有必要先了解UDP协议,UDP协议与TCP协议一样,都是属于传输层协议,那么我们就来看看他们之间有什么区别: 可靠传输vs不可靠传输:TCP传输属于可靠性传输,那么它就一定会有许多机制来保证传输的可靠性,即需要的开销就更多;而UDP协议不保证可靠,并不是说它传输的数据有...

2018-07-20 13:44:02

阅读数 210

评论数 0

原创 基于自主HTTP服务器的项目流程介绍

实现功能:支持 GET 请求 和 POST 请求,GET请求传参可以运行cgi程序从而在数据库中查找到文件路径,查找成功后,通过html将文件路径编译为超链接返回回给用户,用户可以点击链接访问本地文件,POST请求可以实现让用户从浏览器上传照片到服务器,根据照片特定的命名格式存储到服务器,并将...

2018-07-19 15:44:45

阅读数 319

评论数 0

转载 运行git push时出错,提示Permission denied (publickey)

本文转载自博客园博主“王老头”的文章《Permission denied(publickey). fatal: Could not read from remote repository.》 &a...

2018-07-18 08:50:19

阅读数 607

评论数 0

原创 使用c语言实现线程池以及线程池原理

线程池介绍 线程池允许一个线程可以多次复用,且每次复用的线程内部的消息处理可以不相同,将创建与销毁的开销省去而不必来一个请求开一个线程;简单来说就是有一堆已经创建好的线程(最大数目一定),初始时他们都处于空闲状态,当有新的任务进来,从线程池中取出一个空闲的线程处理任务,然后当任务处理完成之后,...

2018-07-11 01:38:06

阅读数 2481

评论数 0

原创 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。

# include &lt;stdio.h&gt; # include &lt;windows.h&gt; void find_once(int arr[], int len) { int i = 0; int j = 0; for (i...

2018-07-10 11:26:37

阅读数 52

评论数 0

原创 windows下用来抓取HTTP报头的小工具wfetch

下载地址: http://www.pc0359.cn/downinfo/63466.html#download 上面附有安装教程,安装完成后打开,页面如下: 界面中的第一行就是HTTP请求的请求行,填写后,Go!就会返回HTTP响应,非常简单!...

2018-07-06 11:26:14

阅读数 537

评论数 0

原创 【c++学习笔记】多态

多态到底是什么呢? 字面意思就是同种事物在不同的场景下所表现出不同的形态。 在c++当中,多态分类如下: 在学习多态之前,我们必须得先了解虚函数的概念。 虚函数就是在类的成员函数(除构造函数、拷贝构造函数、静态成员函数)前加virtual关键字。 静态多态在这里不过多介绍,动态多...

2018-07-05 16:50:39

阅读数 163

评论数 0

原创 Linux下使用telnet抓取HTTP报头信息

首先,先再自己终端上输入telnet,如果报错,就可能是因为没有下载该工具,手动下载(需要在root用户下执行): yum install telnet 输入完telnet www.baidu.com(随便一个网址) 80(默认端口号)后,会是下面这种情况: 先ctrl+] 出现下面这种...

2018-07-05 13:03:55

阅读数 382

评论数 0

原创 centos7 打开关闭查看防火墙

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。 启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个...

2018-07-05 12:27:23

阅读数 944

评论数 0

原创 【c++学习笔记】继承

什么是继承? 继承是面向对象程序设计使代码可以复用的重要手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。 继承的格式: 实例: #include &amp;amp;lt;iostream&amp;amp;gt; using namespace st...

2018-07-02 16:27:00

阅读数 73

评论数 0

原创 Linux--深入解析HTTP协议

什么是HTTP协议,HTTP协议有什么作用? 首先HTTP协议属于应用层协议,应用层的协议就是我们 程序员自己定的,但是,如果每次都要我们程序员自己定协议,又麻烦而且容易出错(自己什么水平自己应该有点数( ̄_ ̄|||)),最重要的是有大佬已经定义了一些现成的(HTTP,DNS等),所以大多时候...

2018-06-27 16:41:41

阅读数 827

评论数 0

原创 【c++学习笔记】深入解析浅拷贝与深拷贝

什么是浅拷贝 也称位拷贝,编译器只是将对象中的值拷贝过来,如果对象中管理资源,最后就会导致多个对象共享同一份资源,当一个对象销毁时就会将该资源释放掉,而此时另一些对象不知道该资源已经被释放,以为还有效,所以当继续对资源进行操作时,就会发生发生了访问违规。 先看下面的代码有问题吗...

2018-06-25 18:07:20

阅读数 55

评论数 0

原创 【c++学习笔记】宏函数与内联函数的区别

什么是宏? 宏定义又称为宏代换、宏替换,简称“宏”。是C提供的三种预处理功能的其中一种。 宏定义分类 1. 不带参数的宏定义: 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 例: ...

2018-06-24 17:58:01

阅读数 94

评论数 0

原创 【c++学习笔记】深度解析new/delete以及new[]/delete[]

在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢? new 和 delete 是函数吗? new [] 和 delete [] 又是什么?什么时候用它们? 你知道 operator new 和 operator delete 吗? 为什么 ...

2018-06-23 16:45:58

阅读数 207

评论数 2

原创 【c++学习笔记】c语言中的const和c++中const的区别

区别一: C语言的const是定义了一个const变量,该变量只具备读的功能,而不具备写的功能。 C++的const是定义了一个常量。 int main() { const int a = 10; int arr[a];//在c++中,因为a已经是常量,但在c中仍是变...

2018-06-23 14:35:02

阅读数 84

评论数 0

原创 【c++学习笔记】类的六个默认的成员函数

一:构造函数 1.基本概念 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时,由编译器自动调用,在对象的生命周期内只调用一次,保证每个数据成员都有一个合适的初始值。 class Date { public: Date(int year, int month, i...

2018-06-20 18:40:54

阅读数 98

评论数 0

原创 使用gdb调试多进程多线程代码

gdb简介 GDB是GUN开源组织发布的一个强大的UNIX下的程序调试工具。或许,平时大家更加习惯图形界面的调试,比如VS上的IDE调试;但是如果我们在UNIX或Linux下做软件,我们呢就更加需要熟练GDB这个调试工具。 GDB调试使用的是DEBUG版本的,而使用gcc或者g++默认生成的可...

2018-06-19 18:31:55

阅读数 154

评论数 0

原创 Linux--多进程与多线程版TCP服务器

一:多进程版 #include &amp;amp;amp;lt;string.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;unistd.h&amp;amp;amp;gt; #include &amp;amp;amp...

2018-06-19 09:50:45

阅读数 94

评论数 0

原创 【c++学习笔记】this指针

一:this指针是什么? 在上一篇博客当中介绍了c++中类的概念,类中可以定义成员函数,但是在类的对象模型中,并不是按照我们想的那样,类的实例对象中包含成员变量和成员函数,或者指向成员函数的指针,而是只保存非静态成员变量,那么不妨想想下面的代码: #include &amp;lt;...

2018-06-15 16:32:16

阅读数 52

评论数 0

转载 带你玩转Visual Studio——调用约定__cdecl、__stdcall和__fastcall

有一定C++开发经验的人一定对”__cdecl、__stdcall、__fastcall”肯定不陌生吧!但你真正理解了吗?是的,我曾在这采了无数个坑,栽了无数个跟头,终于忍无可忍要把它总结一下(虽然我已经有能力解决大部分这...

2018-06-15 15:39:39

阅读数 42

评论数 0

原创 简单版UDP服务器和TCP服务器

UDP 服务器代码如下: #include &amp;amp;lt;arpa/inet.h&amp;amp;gt; ...

2018-06-14 23:04:37

阅读数 358

评论数 0

原创 Linux--网络编程套接字

一:IP地址 1.基本概念: IP地址是在IP协议中,用来标识网络中不同主机的地址 IP协议有两个版本,IPv4和IPv6,对于IPv4,IP地址是一个4字节,32位的整数(能表示2^32个主机);对于IPv6,IP地址是一个16字节,128位的整数。 像192.168.0.1这种IP地...

2018-06-14 18:26:19

阅读数 71

评论数 0

原创 Linux--网络基础(一)

一:计算机网络背景 1.局域网 在局域网内,所有的主机之间交互的信息都是可以被监听的。(网卡可以被设置为混杂模式,这时它可以“抓到”局域网所有的数据) 在局域网内,两台主机是可以直接通信的(网卡序列号MAC地址,全球唯一) 局域网中,两台或两台以上的主机同时向网线发送数据,就会发生数据干...

2018-06-13 12:51:36

阅读数 88

评论数 0

原创 【c++学习笔记】类

类 一.基本概念 在c语言中,结构体就是将相同或不同属性的类型数据放在一起,而里面并不能定义函数,但是在c++当中,结构体里面不仅可以定义不同类型的数据,还可以定义用来操作这些数据的方法(函数),在c++当中更喜欢用class来代替struct定义结构体。 **注:**class定义的...

2018-06-13 09:48:40

阅读数 119

评论数 0

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