自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 【判断一个数n能否被3和5整除的流程图】

Created with Raphaël 2.3.0开始输入数值 num能被3整除?能被5整除?输出"能被3和5整除"结束输出"不能被3和5整除"yesnoyesno

2023-06-15 13:46:38 1928

转载 C++异常,try catch throw

原文链接:http://c.biancheng.net/view/422.html

2022-02-09 16:53:40 68

原创 poll函数

poll函数的运用看这里

2020-11-18 19:16:11 111

转载 netstat命令详解

更多请看这里

2020-10-19 15:30:47 68

原创 C语言字符串操作函数大全

详情看这里

2020-10-13 21:10:07 69

转载 页面置换算法

原文在这里什么是页面置换算法进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区,选择调出页面的算法就称为页面置换算法。几种页面置换算法1.最佳置换算法:最佳(Optimal, OPT)置换算法所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。但由于人们目前无法预知进程在内存下的若千页面中哪个是未来最长时间内不再被访问的,因而该算法无法实现。最佳置换算法大概就是,已经知

2020-09-08 15:45:38 144

转载 面试题-以为数组(无序)找出所有比左边大比右边小的元素

思路创建一个数组,大小和所求数组一样,从右往左遍历原数组,将每一次遍历的最小值放入辅助数组,最后再从左往右遍历原数组,每一次遍历的值如果和辅助数组中的相同位置的数相同,那么这个数就是所求元素。#include<iostream>#include<vector>using namespace std;class Solution{public: void fun(vector<int>& vec) { int len = vec.siz

2020-09-08 11:15:45 1689

转载 C++虚函数

关于虚函数看这里虚函数的作用虚函数的作用主要是实现了多态的机制,所谓多态,就是一个基类指针或引用指向一个派生类实例,然后通过基类指针调用派生类函数,达到一个用不同的代码实现不同的算法的目的。虚函数表有虚函数的类都有一个虚函数表指针,这个指针指向一个虚函数表,虚函数表里有类的虚函数地址,这张表解决了继承,覆盖的问题。没有虚函数重写的继承没有虚函数重写就不会发生覆盖问题,派生类直接继承基类的虚函数表。有虚函数重写的继承派生类继承的虚函数表只是一份拷贝,对他进行改变不会影响基类的虚函数表

2020-09-07 16:47:10 64

原创 C++STL

STL是什么C++标准:ANSI是ISO组织的美国分支机构。所以,他们是一样的。通常是 ANSI制定标准,然后ISO修改批准,ANSI再修改,所以最后他们就一样了,一般写作ANSI/ISO C++。翻译过来就是标准C++。STL是C++的ANSI/ISO标准的一部分,STL提供了大量的可服用软件组织,例如,程序员再也不用自己设计排序,搜索算法了,这些都已经是STL的一部分了。使用STL编写的代码更容易修改和阅读,因为代码更短了,很多基础工作代码已经被组件化了。STL的组成:三大核心:容器、算

2020-09-07 15:57:25 133

原创 进程间通信方式

关于进程间通信可以看这里管道管道分为有名管道和匿名管道有名管道:用于不同进程间的通信,需要创建一个FIFO管道文件,用makefifo Filename来创建管道文件。匿名管道:用于有关系的进程间的通信(比如父子进程),匿名管道的创建,int pipe(int fd[2]),返回两个文件描述符,负责读fd[0],负责写fd[1]。所谓管道就是内核里的一段缓存,管道是半双工的,一端只能读,另一端只能写,因为匿名管道的创建方式特别,所以只能用于有关系的进程间通信。消息队列管道不适合频繁的发送消息和

2020-09-06 16:44:08 89

原创 TCP三次握手和四次挥手

参考与这篇文章三次握手各个状态SYN_SENT:当客户端发送SYN的数据包(syn=x)给服务器后,客户端进入这个状态SYN_RECV:当服务器收到syn后也发送SYN(syn=y)和一个ACK(ack=x+1)给客户端ESTABLISHED:客户端收到SYN+ACK后,给服务器发送一个ACK(ack=y+1)进入这个状态为什么不能是两次握手?因为如果是两次握手的话,客户端向服务器发送SYN后,服务器返回SYN+ACK,但此时可能返回到客户端的数据在网络中丢失了,那两次握手客户端没有收到数据,

2020-09-06 15:50:40 58

原创 SQLyog连接数据库失败的问题

传送门

2020-08-30 23:33:28 334

原创 linux静态ip的配置

传送门

2020-08-30 22:41:34 57

原创 集群聊天服务器整体梳理-登录成功后的业务处理

登录成功后的各个业务当客户端登录上服务器后,可以选择不同的功能比如一对一聊天,添加好友,创建群组,加入群组,群聊,注销等功能。客户端是怎么发送每个业务的客户端会在登录成功后的界面,显示帮助文档,比如添加好友业务输入:“addfriend:friendid”,然后输入这样的指令就可以添加好友了,服务器把每一个业务函数用unordered_map表存储到了一起,当你输入类似添加好友的代码后,用string的find方法找到’:’,然后利用string的substr方法提取业务名称,然后根据业务名称在map

2020-08-13 17:30:41 265

原创 集群聊天服务器整体梳理-登录业务

客户端登录服务器客户端同样的发送反序列化的json对象,然后服务器根据msgid调用相应的处理函数,这一次调用的登录处理函数,登录时客户端发送id和password,然后服务器通过user表查询id是否存在以及密码是否正确,并反馈给客户端,如果密码不正确,客户端重新发送新的数据,如果正确,看该用户是否在线,如果在线,那么此用户不可以登录,如果不在线可以成功登录,登录成功后,服务器会将与该id相关联的联合主键id用户信息发送给客户端,还会讲离线表里的离线信息发送给客户端。这里来梳理一下各个动作的实现验

2020-08-10 00:40:59 248

原创 集群聊天项目整体梳理-注册业务

很关键

2020-08-09 22:41:38 174

原创 redis的安装

redis的安装跟着这个人安装就好了地址

2020-08-06 20:30:11 58

原创 命令行安装apt-get

我的ubuntu虚拟机因为安装aptitude把apt-get卸载了,但aptitude又不会用,就像把apt-get安装回来,但此时我的ubuntu图形界面也没了。1.安装xshell2.shell远程连接linux3.用sudo wget命令获取三个文件文件名称...

2020-08-05 21:32:52 4078 1

原创 二叉排序树

#include<iostream>using namespace std;struct TreeNode { int value; TreeNode* left; TreeNode* right;};TreeNode* Insert(TreeNode *T,int e){ if (!T) { T = new TreeNode; T->left = nullptr; T->right = nullptr; T->value = e;.

2020-08-02 19:20:55 87

转载 指针和引用的区别

添加链接描述

2020-07-31 20:55:49 62

原创 操作系统页面置换

操作系统页面置换https://www.cnblogs.com/fkissx/p/4712959.html

2020-07-18 10:09:52 74

原创 内存池源码剖析

static ngx_inline void *ngx_palloc_small(ngx_pool_t *pool, size_t size, ngx_uint_t align);static void *ngx_palloc_block(ngx_pool_t *pool, size_t size);static void *ngx_palloc_large(ngx_pool_t *p...

2020-04-17 21:31:38 131

原创 最大堆的实现

##大跟堆一.堆得本质是一个完全二叉树1.大跟堆:每个结点的值都大于或者等于左右孩子结点的值比如:我们将大跟堆的根结点称为堆顶,堆顶即为大跟堆元素的最大值二:大跟堆的相关操作1.插入一个结点我们在插入结点后要保证插入完的二叉树任然是一个大跟堆当插入10后,向上调整插入结点的位置:将之与其父节点相比较,如果大于父节点就交换父子结点位置代码如下:#include#inclu...

2020-04-06 13:48:11 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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