<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZBQ__的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ZBQ__</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ZBQ__]]></copyright><item><title><![CDATA[简单shell脚本练习]]></title><link>https://blog.csdn.net/ZBQ__/article/details/105618393</link><guid>https://blog.csdn.net/ZBQ__/article/details/105618393</guid><author>ZBQ__</author><pubDate>Sun, 19 Apr 2020 18:03:49 +0800</pubDate><description><![CDATA[最近刚刚接触脚本语言，先从shell开始，练习一些简单的脚本。
&lt;1&gt;制作程序菜单
编写的脚本
运行结果
&lt;2&gt;统计基本信息


利用$可以在脚本中引用环境变量
&lt;3&gt;利用变量（打印环境变量）


&lt;4&gt;添加用户变量



...]]></description><category></category></item><item><title><![CDATA[最高的山峰(力扣845)]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99854204</link><guid>https://blog.csdn.net/ZBQ__/article/details/99854204</guid><author>ZBQ__</author><pubDate>Tue, 20 Aug 2019 16:32:51 +0800</pubDate><description><![CDATA[大概题意:

我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”：

B.length &gt;= 3
存在 0 &lt; i&lt; B.length - 1 使得 B[0] &lt; B[1] &lt; ... B[i-1] &lt; B[i] &gt; B[i+1] &gt; ... &gt; B[B.length - 1]
（注意：B 可以是 A 的任意子数组，包括整个数...]]></description><category></category></item><item><title><![CDATA[交换两个数组使得两个数组和相等]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99833548</link><guid>https://blog.csdn.net/ZBQ__/article/details/99833548</guid><author>ZBQ__</author><pubDate>Tue, 20 Aug 2019 12:26:44 +0800</pubDate><description><![CDATA[题目描述:

给定两个数组,交换数组中的两个元素,使得两个数组的元素和相等

解题思路:

首先分别求出数组1和数组2的和,开辟一个数组res将交换后的数字存进去,然后求出两个数组的平均值,平均值就是数组1和数组2交换之后数组中的和,在这里我用一个set将brr的值保存进去,然后遍历数组1,如果要把数组一中的值换掉,则数组一的和就变成sum1-arr[i],还差avg-(sum1-arr[i]),...]]></description><category></category></item><item><title><![CDATA[Liunx之HTTP,HTTPS协议]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99719826</link><guid>https://blog.csdn.net/ZBQ__/article/details/99719826</guid><author>ZBQ__</author><pubDate>Mon, 19 Aug 2019 12:41:39 +0800</pubDate><description><![CDATA[HTTP是客户端和服务端之间数据传输的格式规范.
HTTPS是基于安全套接字层的HTTP协议(加密传输,身份认证)
HTTP的过程:
1.浏览器打开一个TCP连接
2.浏览器发送HTTP请求到服务器端
3.服务器发送HTTP回应信息到浏览器
4.TCP连接关闭
SSL的过程:
1.验证服务器端
2.允许客户端和服务器端选择加密算法和密码,确保双方都支持
3.验证客户端
4.使用公钥加密技术来生成共...]]></description><category></category></item><item><title><![CDATA[C++题目之合并两个有序数组(力扣88)]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99717502</link><guid>https://blog.csdn.net/ZBQ__/article/details/99717502</guid><author>ZBQ__</author><pubDate>Mon, 19 Aug 2019 11:45:09 +0800</pubDate><description><![CDATA[给定两个有序整数数组 nums1 和 nums2，合并nums1和nums2为有序数组
输入:
nums1 = [1,2,3], m = 3
nums2 = [2,5,6],       n = 3
输出: [1,2,2,3,5,6]
**解题思路:**先求出两个数组的大小,开辟一个新数组来保存合并之后的数据,给两个指针指向两个数组中最后一个元素,判断如果第一个数组最后一个元素小于第二个数组最后一...]]></description><category></category></item><item><title><![CDATA[力扣之三数之和问题]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99708569</link><guid>https://blog.csdn.net/ZBQ__/article/details/99708569</guid><author>ZBQ__</author><pubDate>Sun, 18 Aug 2019 20:31:46 +0800</pubDate><description><![CDATA[给定一个包含 n 个整数的数组 nums，判断 nums 中是否存在三个元素 a，b，c ，使得 a + b + c = 0 ？找出所有满足条件且不重复的三元组。
注意：答案中不可以包含重复的三元组。
示例:例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4]，
满足要求的三元组集合为：
[
[-1, 0, 1],
[-1, -1, 2]
]
解题思路:a+b+c=0可以转化...]]></description><category></category></item><item><title><![CDATA[libevent库]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99593689</link><guid>https://blog.csdn.net/ZBQ__/article/details/99593689</guid><author>ZBQ__</author><pubDate>Wed, 14 Aug 2019 18:35:36 +0800</pubDate><description><![CDATA[libevent库是一个轻量级的网络I/O库
它向libevent框架中注册相应的事件和回调函数,当这些事件发声时,libevent会调用这些回调函数处理相应的事件(I/O读写,定时和信号)
它的优点:(1)轻量级,专注于网络,不如ACE那么臃肿庞大
(2)源代码相当精炼,易读
(3)可以支持跨平台操作
(4)支持多种I/O多路复用技术
(5)支持I/O,定时器和信号等事件
我们首先来学习一下Re...]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99286983</link><guid>https://blog.csdn.net/ZBQ__/article/details/99286983</guid><author>ZBQ__</author><pubDate>Mon, 12 Aug 2019 09:46:34 +0800</pubDate><description><![CDATA[一.单例模式的定义
单例模式，是一种常用的设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中，应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。
二.单例模式的结构图

三.具体实现方法
（1）将构造方法私有化，使其不能在类的外部通过new关键字实例化该类对象。
（2）在该类内部产生一个唯一的实例化对象，并且将其封装为private static类型。
（...]]></description><category></category></item><item><title><![CDATA[一致性哈希算法]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99174220</link><guid>https://blog.csdn.net/ZBQ__/article/details/99174220</guid><author>ZBQ__</author><pubDate>Sun, 11 Aug 2019 11:41:37 +0800</pubDate><description><![CDATA[一.哈希算法
假设有3万张图片需要映射到A1,A2,A3三台服务器上,最好的效果是能够均匀的存放在这三台服务器上,
简单的做法是对键进行哈希计算,计算之后的值是一个整数,对这个整数进行取模运算,通过得到的余数来决定放在哪台服务器上.
hash(名称)%机器数=余数(这里机器数量为3,取余得到的结果是0,1,2(服务器编号)
弊端:假如增加一台服务器的话,对应的机器数变化引起余数变化,服务器的编号失...]]></description><category></category></item><item><title><![CDATA[内核内存管理]]></title><link>https://blog.csdn.net/ZBQ__/article/details/99085602</link><guid>https://blog.csdn.net/ZBQ__/article/details/99085602</guid><author>ZBQ__</author><pubDate>Sat, 10 Aug 2019 16:58:25 +0800</pubDate><description><![CDATA[一、内核内存管理的物理单位：页
1、物理页的结构



flags ：用来存放页的状态，每一位可以表示一种状态，共可以表示32中状态
（page-flags.h）
_count : 用来存放页的引用次数，内核代码不可以直接检查该域，应该使用page_count()函数来检查，返回值为0则代表该页空闲，返回值为正数则表示该页正在被使用
virtual：页在虚拟内存中的地址
2、内核使用struct ...]]></description><category></category></item><item><title><![CDATA[C++之智能指针]]></title><link>https://blog.csdn.net/ZBQ__/article/details/98469860</link><guid>https://blog.csdn.net/ZBQ__/article/details/98469860</guid><author>ZBQ__</author><pubDate>Sun, 04 Aug 2019 16:28:42 +0800</pubDate><description><![CDATA[C++98引入了auto_ptr
auto_ptr:
**特点:**管理权限唯一,控制权限唯一&lt;所有权唯一&gt;
只有一个指针对象进行管理,剩下的都会失效.数据无法共享
不能在容器中保存auto_ptr,也不能从函数中返回auto_ptr.

上图所示是错误的,因为所有权是唯一的.
所以在C++11摒弃了auot_ptr:要避免因为潜在的内存问题导致程序崩溃.
auto_ptr的简单实现:...]]></description><category></category></item><item><title><![CDATA[线程同步]]></title><link>https://blog.csdn.net/ZBQ__/article/details/98369269</link><guid>https://blog.csdn.net/ZBQ__/article/details/98369269</guid><author>ZBQ__</author><pubDate>Sat, 03 Aug 2019 20:20:16 +0800</pubDate><description><![CDATA[实现线程同步的方式和方法:信号量,互斥锁,读写锁,条件变量
1.信号量:信号量可以分为二值信号量和计数信号量.

信号量的使用函数



信号量实际上就是一个值，这个值被用来解决临界区问题以及实现进程在多处理器环境下的进程同步。
互斥锁:在访问共享资源之前进行加锁操作,在访问完成之后进行解锁操作.
加锁后,任何其他试图再次加锁的线程会被阻塞,直到当前进程解锁.
可以确保同一时间内只有一个线程可以访...]]></description><category></category></item><item><title><![CDATA[哈希表]]></title><link>https://blog.csdn.net/ZBQ__/article/details/98326129</link><guid>https://blog.csdn.net/ZBQ__/article/details/98326129</guid><author>ZBQ__</author><pubDate>Sat, 03 Aug 2019 15:50:45 +0800</pubDate><description><![CDATA[一.哈希表的概念
哈希表又称散列表:把关键码值映射到表中的一个位置来访问记录,以加快查找的速度,映射函数叫散列函数,存放记录的数组叫散列表.
把key通过一个固定的算法函数转换成一个整型数字,然后就将该数组对数组长度取余,取余结果就当做数组的下标,将value存储在一以该数字为下标的数组空间里.
二.哈希函数的构造方法(函数本身便于计算,计算出来的地址分布均匀)
1.数字分析法:如果事先知道有关键...]]></description><category></category></item><item><title><![CDATA[I/O复用]]></title><link>https://blog.csdn.net/ZBQ__/article/details/98234791</link><guid>https://blog.csdn.net/ZBQ__/article/details/98234791</guid><author>ZBQ__</author><pubDate>Fri, 02 Aug 2019 20:53:18 +0800</pubDate><description><![CDATA[select系统调用:
在一段指定时间内,监听用户感兴趣的文件描述符上的可读,可写和异常等事件.
select系统调用原型:

n==-1 失败
n==0  超时
n&gt;0   有n个描述符上有事件就绪(n是返回值)
select调用返回时,内核修改它们来通知应用程序哪些文件描述符已经就绪,fd_set结构体仅包含一个整型数组,该数组的每个元素的每一位标记一个文件描述符,
timeout参数用...]]></description><category></category></item><item><title><![CDATA[TCP可靠机制]]></title><link>https://blog.csdn.net/ZBQ__/article/details/97899307</link><guid>https://blog.csdn.net/ZBQ__/article/details/97899307</guid><author>ZBQ__</author><pubDate>Wed, 31 Jul 2019 12:07:51 +0800</pubDate><description><![CDATA[超时重传:
可以重传超时事件内未收到确认的TCP报文段.
为此,TCP每个模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动.如果超时时间内未收到接收方的应答,TCP模块将重传TCP报文段并重置定时器.TCP一共执行5次重传,每次重传超时时间都增加一倍,在5次重传均失败的情况下,底层的IP和ARP开始接管,直至客户端放弃连接为止.
Linux有两个重要的内核参数与...]]></description><category></category></item><item><title><![CDATA[两个栈实现一个队列,两个队列实现一个栈]]></title><link>https://blog.csdn.net/ZBQ__/article/details/97766871</link><guid>https://blog.csdn.net/ZBQ__/article/details/97766871</guid><author>ZBQ__</author><pubDate>Tue, 30 Jul 2019 11:51:11 +0800</pubDate><description><![CDATA[上图:

//两个栈实现一个队列
template
class CQueue
{
public:
CQueue(void);
~CQueue(void);
void appendTail(const T&amp; node);
T deleteHead();
private:
stack stack1;
stack stack2;
};
template
CQueue::CQueue(void){...]]></description><category></category></item><item><title><![CDATA[常用端口号总结]]></title><link>https://blog.csdn.net/ZBQ__/article/details/97672347</link><guid>https://blog.csdn.net/ZBQ__/article/details/97672347</guid><author>ZBQ__</author><pubDate>Mon, 29 Jul 2019 19:46:54 +0800</pubDate><description><![CDATA[FTP（20/21）(文件传输协议)
其中20用于传输数据，21用于传输控制信息（主动模式/被动模式）
SSH (网络协议,用于计算机的登录加密)    22	
telnet  23  远程通讯协议
SMTP  25 简单邮件传输协议
DNS（53）域名解析
http    80 超文本传输协议
pop3    110   （邮局协议） 995  密文
//rpcbind 111
NTP 123 ...]]></description><category></category></item><item><title><![CDATA[网络四层模型]]></title><link>https://blog.csdn.net/ZBQ__/article/details/97538951</link><guid>https://blog.csdn.net/ZBQ__/article/details/97538951</guid><author>ZBQ__</author><pubDate>Sat, 27 Jul 2019 19:13:06 +0800</pubDate><description><![CDATA[数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输.
主要协议:ARP(地址解析协议)
RARP(逆地址解析协议):实现了IP地址和物理地址之间的转换.
网络层:实现数据报包的选路和转发.
核心协议:IP协议:(因特网协议)根据数据包的目的地址来决定如何投递它.如果数据包不能直接发送给目标主机,那么IP协议就为它寻找合适的下一跳路由器,并将数据包交付给该路由器来转发.多次重复这...]]></description><category></category></item><item><title><![CDATA[C++中oop的思想]]></title><link>https://blog.csdn.net/ZBQ__/article/details/96980299</link><guid>https://blog.csdn.net/ZBQ__/article/details/96980299</guid><author>ZBQ__</author><pubDate>Tue, 23 Jul 2019 12:00:48 +0800</pubDate><description><![CDATA[oop通常来说就是面向对象的编程思想.
面向对象三大特性:封装,继承,多态
现实世界是由一个个对象组成的，因此面向对象的思维方式更加接近现实世界，面向对象编程的组织方式也更加贴近现实世界。面向对象以对象为中心，将对象的内部组织与外部环境区分开来，将表征对象的内部属性数据与外部隔离开来，其行为与属性构成一个整体，而系统功能则表现为一系列对象之间的相互作用的序列，能更加形象的模拟或表达现实世界。在编程...]]></description><category></category></item><item><title><![CDATA[c++基本知识]]></title><link>https://blog.csdn.net/ZBQ__/article/details/96975096</link><guid>https://blog.csdn.net/ZBQ__/article/details/96975096</guid><author>ZBQ__</author><pubDate>Tue, 23 Jul 2019 11:12:05 +0800</pubDate><description><![CDATA[函数重载:C语言的符号生成规则:只和函数名有关
C++的符号生成规则:函数原型(函数头部),
1.返回值
返回值不能作为重载的依据,可能会产生二义性
2.函数名
C语言的符号生成规则只和函数名有关,如果把函数名作为返回值的话,就和C语言冲突了.
3.函数形参(1)参数个数(2)参数类型(3)参数顺序
函数形参作为函数重载的依据.
函数重载的三要素:1.同名2.不同参3.同作用域
malloc和ne...]]></description><category></category></item></channel></rss>