<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Thinker_serious的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Thinker_serious</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Thinker_serious]]></copyright><item><title><![CDATA[自动监控备份系统--性能测试]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/99954314</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/99954314</guid><author>Thinker_serious</author><pubDate>Wed, 21 Aug 2019 14:36:11 +0800</pubDate><description><![CDATA[项目详情https://blog.youkuaiyun.com/Thinker_serious/article/details/99852168
        项目功能介绍
        
            客户端主机上对指定目录进行监控，能够对新文件/修改后的文件进行自动备份到服务端
			并且服务端向用户提供网页访问和文件下载的功能
			服务端为了节省磁盘空间，对热度低(...]]></description><category></category></item><item><title><![CDATA[自动监控备份系统--项目详情]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/99852168</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/99852168</guid><author>Thinker_serious</author><pubDate>Wed, 21 Aug 2019 14:35:05 +0800</pubDate><description><![CDATA[自动监控备份系统

    
        项目功能介绍
        
            客户端主机上对指定目录进行监控，能够对新文件/修改后的文件进行自动备份到服务端
			并且服务端向用户提供网页访问和文件下载的功能
			服务端为了节省磁盘空间，对热度低(不经常下载)的文件进行压缩存储。
            这里存在可扩展的地方为如果服务端中包含大量的小文件，为了节约inod...]]></description><category></category></item><item><title><![CDATA[C++容器--list]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/99608150</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/99608150</guid><author>Thinker_serious</author><pubDate>Sat, 17 Aug 2019 11:03:05 +0800</pubDate><description><![CDATA[list介绍

list是可以在常数范围内在任意位置进行插入和删除的序列式容器，并且可以前后双向迭代
list的底层式双向链表结构，双向链表中的每个元素存储在互不关联的独立节点中，节点中的指针指向前一个位置和后一个位置
list和forward_list非常相似：不同点在于，forward_list是单链表，只支持向前迭代，让其更加简单高效
与其他序列式容器相比(array,vector,dequ...]]></description><category></category></item><item><title><![CDATA[C++容器--vector]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/99310051</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/99310051</guid><author>Thinker_serious</author><pubDate>Mon, 12 Aug 2019 17:14:30 +0800</pubDate><description><![CDATA[vector

vector可表示可变大小数组的序列容器。
vector采用和数组相同的连续存储空间来存储元素。可采用下表对vector的元素进行访问，与数组一样高效。
与数组的不同点：vector的大小可以动态改变，它的大小会被容器自动处理，而数组是定长的。
vector分配空间策略：vector会分配一些额外的空间以适应可能的增长，因为存储空间比实际需要的存储空间更大，为保证vector在末尾...]]></description><category></category></item><item><title><![CDATA[C++容器--string]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/99204396</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/99204396</guid><author>Thinker_serious</author><pubDate>Sun, 11 Aug 2019 17:23:21 +0800</pubDate><description><![CDATA[string

string为C++STL中的重要容器，是表示字符串的字符串类
其中有一些用来操作字符串的接口
不能操作多字节或者变长字符的序列

常用接口：
构造：
string();	// 构造空串
string(const char* s);	// 用C-string构造string类对象
string(size_t n, char c);	// string类对象中包含n个字符c
stri...]]></description><category></category></item><item><title><![CDATA[LeetCode整理--删除排序数组中的重复项]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/97129136</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/97129136</guid><author>Thinker_serious</author><pubDate>Wed, 24 Jul 2019 15:08:15 +0800</pubDate><description><![CDATA[题目要求

第一种解题思路：

因为数组是已经排好序的有序数组，所以后面的元素一定是大于等于前面的数字的，所以我们只需要判断后一个数字是否与前一个数字相等，如果相等就让后一个继续向后，直到不等于当前数为止，如果不相等就让前面的下标向后移动一位赋值，最后的长度就是前面下标+1

// 前面的解释有点难以理解，看代码很容易理解
class Solution {
public:
    int remo...]]></description><category></category></item><item><title><![CDATA[Linux---进程间通信]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/93190156</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/93190156</guid><author>Thinker_serious</author><pubDate>Mon, 24 Jun 2019 16:00:16 +0800</pubDate><description><![CDATA[进程间通信
1. 操作系统为什么提供通信方式？

因为进程的独立性导致进程间是无法直接进行通信的。

2. 进程间通信的基本介绍

作用：进程间进行交流
因为进程间的独立性，因此通信需要双方拥有公共的媒介才能通信，而这个媒介由操作系统提供；并且因为通信的场景不同，操作系统提供了多种不同的进程间通信方式。

3. 进程间同i性能方式(ipc)

管道：匿名管道/命名管道
共享内存：进程间通信方式最快...]]></description><category></category></item><item><title><![CDATA[C++--模板]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/91977704</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/91977704</guid><author>Thinker_serious</author><pubDate>Fri, 14 Jun 2019 17:18:20 +0800</pubDate><description><![CDATA[一、泛型编程

]]></description><category></category></item><item><title><![CDATA[C++---内存管理]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90697080</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90697080</guid><author>Thinker_serious</author><pubDate>Thu, 06 Jun 2019 18:38:45 +0800</pubDate><description><![CDATA[一、内存分布
首先我们应该知道各种数据在内存中的分布
栈：又叫堆栈，非静态局部变量/函数参数/返回值等等，栈是向下增长的。
内存映射段：高效的I/O映射方式，用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存，做进程间通信。
堆：用于程序运行时动态内存分配，堆是向上增长的
数据段：存储全局数据和静态数据
代码段：可执行代码和只读常量
二、C语言中的动态内存管理方式
malloc:只申请空...]]></description><category></category></item><item><title><![CDATA[Linux---进程控制]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90548816</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90548816</guid><author>Thinker_serious</author><pubDate>Tue, 28 May 2019 16:53:08 +0800</pubDate><description><![CDATA[进程控制：
进程创建：
进程创建函数为fork()，无参数
返回值：创建失败返回-1；创建成功后父进程返回子进程的id(大于0)，子进程返回0，
我们可以通过返回值的不同对父子进程进行分流。
fork常规用法：
	一个父进程希望复制自己，生成子进程，让父子进程执行不同的代码段。例如：父进程等待客户端请求，生成的子进程来处理请求
	一个进程要执行不同的程序。例如子进程从fork返回后，调用exec函...]]></description><category></category></item><item><title><![CDATA[求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C)]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90517359</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90517359</guid><author>Thinker_serious</author><pubDate>Fri, 24 May 2019 15:35:45 +0800</pubDate><description><![CDATA[求1+2+3+…+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C)
解析：解决这道题的方法有好几种，这里只提供最好理解的这一种，通过构造对象，让静态变量进行累加，在构建完所有对象后返回静态变量的值，就是累加的和。
#include &lt;iostream&gt;

using namespace std;

class Sum...]]></description><category></category></item><item><title><![CDATA[C++---类和对象（下）]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90489205</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90489205</guid><author>Thinker_serious</author><pubDate>Fri, 24 May 2019 15:29:33 +0800</pubDate><description><![CDATA[构造函数体赋值：在创建对象时，编译器通过调用构造函数，给对象中的成员变量一个合适的初始值。
class Date
{
public:
	Date(int year, int month, int day)
		// 初始化示例
		:_year(year)
		, _month(month)
		, _day(day)
		// 初始化到这里就应该结束了
	{
		// 这里是赋值而不是初始化
	...]]></description><category></category></item><item><title><![CDATA[Linux--进程概念]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90485545</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90485545</guid><author>Thinker_serious</author><pubDate>Thu, 23 May 2019 18:29:40 +0800</pubDate><description><![CDATA[进程：本质为运行中的程序
程序：存储在硬盘中的可执行程序文件
	操作系统如何管理进程？先描述，后组织
	站在操作系统的角度来说，进程就是操作系统对进程的描述--&gt;pcb(进程控制块)		
		struct task_struct结构体
		描述进程：标识符（PID），进程状态，优先级，内存指针，上下文数据，
				程序计数器，io状态信息，记账信息（cpu上运行时间）
	进程的切换调度：c...]]></description><category></category></item><item><title><![CDATA[Linux--概念+常用工具]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/90209651</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/90209651</guid><author>Thinker_serious</author><pubDate>Tue, 14 May 2019 16:51:03 +0800</pubDate><description><![CDATA[基础命令在之前已经展示，从这里开始就是对各种概念的理解，在面试中有很大概率会问到的问题。

操作系统的构成 = 系统内核 + 外部应用
外部应用就要看开发人员对系统的支持了，但是我们知道Linux下的游戏并不是很多，主要就是因为Linux为开源系统，大家都可以在内核的基础上，开发自己的特色上去，导致Linux的版本各有不同，很难统一，导致应用的支持很难实现。
权限：
用户：普通用户，超级管理员（r...]]></description><category></category></item><item><title><![CDATA[Linux--其他常用命令]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/89506128</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/89506128</guid><author>Thinker_serious</author><pubDate>Thu, 25 Apr 2019 00:18:58 +0800</pubDate><description><![CDATA[其他命令：
	压缩命令：
	压缩/解压缩 打包/解包
	zip/unzip	gzip/gunzip	bzip2/bunzip2
	.tar.gz		.tar.bz2
	tar
		-c	打包
		-x	解包
		-z	gzip格式压缩/解压缩
		-j	bzip2格式压缩/解压缩
		-v	显示详细的打包/解包信息
		-f	指定压缩包的名称，后面紧跟包名称
		tar -czvf hello.t...]]></description><category></category></item><item><title><![CDATA[Linux--文件相关命令]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/89399124</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/89399124</guid><author>Thinker_serious</author><pubDate>Fri, 19 Apr 2019 14:51:41 +0800</pubDate><description><![CDATA[文件相关命令：
	touch	若文件存在则刷新文件时间属性，不存在则创建文件
		-t	199811231234.23
		-d	1998-...
	cat		打印文件内容到终端
		-n	打印行号
	tac		按行逆序打印
	more	分页打印文件内容
		空格		向下翻页
		b		向上翻页
		回车		按行向下翻页
	less	分页打印文件内容
		f	pgdown	向下翻页
		b	pgu...]]></description><category></category></item><item><title><![CDATA[Linux初识--目录相关命令]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/89382626</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/89382626</guid><author>Thinker_serious</author><pubDate>Thu, 18 Apr 2019 16:52:50 +0800</pubDate><description><![CDATA[介绍：本文章记录一些Linux的基础命令，方便以后查询和复习。
初识linux以及基本操作Linux及基本操作：
Linux操作系统版本：
发行版linux操作系统=linux内核+外部应用
redhat—收费
centos
debian
ubuntu
deepin 麒麟 红旗
基本操作：
目录----文件夹
linux下一切皆文件
linux是一个多用户操作系统；
家目录—每个用户都会有的单独的...]]></description><category></category></item><item><title><![CDATA[C++---类和对象（中）]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/88696345</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/88696345</guid><author>Thinker_serious</author><pubDate>Wed, 27 Mar 2019 22:35:38 +0800</pubDate><description><![CDATA[一、类的6个默认成员函数

]]></description><category></category></item><item><title><![CDATA[C++---类和对象（上）]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/88650670</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/88650670</guid><author>Thinker_serious</author><pubDate>Wed, 20 Mar 2019 18:39:33 +0800</pubDate><description><![CDATA[一、类和对象的初步认识
C语言是面向过程的，关注的是过程，分析求解问题的步骤，通过函数调用逐步解决问题。
C++是基于面向对象的，关注的是对象，将一件事拆分成不同的对象，靠对象之间的交互完成。
二、类的引入
C语言中，结构体只能定义变量；在C++中，结构体不仅能定义变量，也可以定义函数。
// 测试代码
struct Student
{
	void SetStudentInfo(const cha...]]></description><category></category></item><item><title><![CDATA[C++---入门]]></title><link>https://blog.youkuaiyun.com/Thinker_serious/article/details/88385006</link><guid>https://blog.youkuaiyun.com/Thinker_serious/article/details/88385006</guid><author>Thinker_serious</author><pubDate>Fri, 15 Mar 2019 21:18:30 +0800</pubDate><description><![CDATA[一、命名空间：
*使用命名空间的目的：*在C++中，变量、函数和类都是大量存在的，这些变量、函数和类的名称都将存在于全局作用域中，可能会导致很多冲突。使用命名空间对标识符的名称进行本地化，以避免命名冲突或名字污染，关键字namespace。
定义命名空间，需要使用到namespace关键字，后面跟命名空间的名字，然后**接一对{}**即可，{}中即为命名空间的成员。
// 1. 普通的命名空间
n...]]></description><category></category></item></channel></rss>