自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习笔记 RDMA

https://mp.weixin.qq.com/s?__biz=MzAxNzU3NjcxOA==&mid=2650717964&idx=1&sn=2b06cbeb6e9028c71b30eb37f38a3b9d&scene=21#wechat_redirecthttps://blog.csdn.net/btb5e6nsu1g511eg5xeg/article/...

2020-04-09 20:15:43 226

原创 计算机网络基础 中的几个常识问题

大部分内容转载自csdn大佬 @沉迷单车的追风少年 感谢!!~https://blog.csdn.net/qq_41895747/article/details/104699853为了更好的阅读体验,部分内容我进行过安全的增删减改及顺序更改,权当记录。一、OSI七层二、IP地址分类三、ARP四、RARP五、协议六、TCP和UDP区别七、TCP三次握手和挥手八、TCP可以两次...

2020-03-25 18:53:47 680

原创 红黑树 B-树 B树 B+树

红黑树:一种不要求绝对平衡的二叉树。B树:多叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点;所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点...

2020-03-22 12:32:55 168

原创 C++ atoi和stoi的区别和联系

联系:1、都在cstring头文件里2、功能都是把一个字符串转换为int3、当字符串中有除了数字外的字符时,只会将这些字符前的数字转换为intint main(){ int a = atoi("+1234!!@12313131313113a12");//本例中stoi的输出结果一样 cout << a;}输出结果为区别:1、函数参数不同:stoi的参数是con...

2020-03-22 10:51:28 1224

原创 cin cin.get cin.getline getline 二三事

工具:Visual Studio 2017 professional首先,cin和cin.get()遇到结束符都会停止读取,并且将结束符留在缓存区。对cin来说,tab、空格、回车都是结束符,cin.get默认结束符是回车并且可以自定义结束符。1、cin#include<iostream>using namespace std;int main(){ char ch;...

2020-03-21 11:41:45 214

原创 MySQL语法

还在持续更新…

2020-03-18 18:54:10 93

原创 mysql 8.0 如何改密码(转载

https://www.cnblogs.com/jerrys/p/10626408.html感谢作者的贡献!试了很多方法,终于改成功了!!高亮并完善了一下他的步骤,希望能给大家带来帮助~注意:以下的cmd都是管理员cmd,注意别少打分号,具体以代码块内字符为准。1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,2.开启跳过密码验证登录的MySQL服务mys...

2020-03-16 19:38:16 116

原创 TKeed Webserver 结构梳理

先从main.c开始。// 读取配置文件read_conf(conf_file, &conf);// 处理SIGPIPEhandle_for_sigpipe();//初始化套接字开始监听int listen_fd = socket_bind_listen(conf.port);// 设置为socket非阻塞int rc = make_socket_non_blocki...

2020-03-12 17:32:10 435

原创 string char* char[] char之间的转换

一、string转为char* char[]主要通过string类内部的几个方法:data(),c_str(),copy1、data()方法返回 const char* 格式的字符串数据比如 string str = "world"; const char *p = str.c_data();//要加const或者等号右边用char* char *q = (char*)str...

2020-03-11 11:33:30 236

原创 C++中string char* int 之间的转换方法

#include<iostream>#include<sstream>using namespace std; int main() { long a = INT_MAX+1; string b = "22222abc33333"; char* c = "33333abc444"; string d; cout << to_string(a) ...

2020-03-11 11:01:35 203

原创 类中的重写(覆盖)例子详解

直接看三个例子吧,例子里有三个链式继承的类(父类?爷类?三世同堂)1、class CA{public: void f1() { cout << "CA:f1()" << endl; f2(); } virtual void f2() { cout << "CA:f2()" << endl; }}; class CB...

2020-03-08 21:17:13 412

转载 Understand使用方法(转载!

先贴原文连接,感谢原作者的贡献http://codemx.cn/2016/04/30/Understand01/之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand。这款软件具有强...

2020-03-07 21:08:04 4677

原创 hash_map map unordered_map适用情况及简单对比

首先放观点,欢迎指正!如果数据量小,并且没有顺序要求,强烈建议使用 unordered_map如果数据量大,但查询次数不多,可以使用map如果数据量大,查询次数多,建议使用hash_mapmap:红黑树 logn时间复杂度 有序unordered_map内部是hash表,在C++11的时候被引入标准库了,而hash_map没有hash_map原理:使用一个下标范围比较大的数组来存储元...

2020-03-06 19:12:28 238

原创 单例模式-简单实现

懒汉模式#include<iostream>using namespace std;class singleton {private://赋值,拷贝,构造,自身指针 singleton& operator=(singleton&) = delete; singleton(singleton&) = delete; singleton() { ...

2020-03-06 09:08:40 121

原创 排序 C++实现

快速排序void quicksort(vector<int>& a, int left, int right){ if (left >= right) return; int key = a[left]; int i = left; int j = right+1; while (true) { while (a[++i] <= key) ...

2020-03-06 09:07:05 152

转载 HTTP 状态码 Cookie Session(转载自TK大佬

以下干货由TK大佬提供,感谢1、状态码HTTP状态码出现在响应报文中,响应报文是服务器对请求资源的响应。报文可以通过以下两种方式比较直观的看到:一是在浏览器调试模式下(F12)看请求响应信息,二是通过wireshark或者tcpdump抓包实现。200:成功。301:内容已经移动。400:请求不能被服务器理解。403:无权访问该文件。404:不能找到请求文件。500:服务器内部错...

2020-03-03 19:08:10 847

原创 读者-写者锁 哲学家就餐问题

读者写者锁:顾名思义,有一个读锁可以同时被多个读者获取,但是写锁只有在无读者时才能获取。缺点:读者很可能饿死写者。性能与简单的锁相比没有优势。哲学家就餐问题:若干个哲学家围着圆桌就餐,餐叉数量刚好等于哲学家数目,只有同时拿到左右两边的餐叉才能恰饭,如果每个哲学家都先拿自己左手边的餐叉,再试图拿右手边,会导致每个哲学家都恰不上饭。解决方案:破除环路。(比如,如果最后一个哲学家先拿右边再拿...

2020-03-03 18:27:24 160

原创 产生死锁的条件

以下来自Remzi的OSTEP1、互斥:线程对于需要的资源进行互斥的访问(例如一个线程抢到锁)2、持有并等待:线程持有资源(例如锁),并且在等待其他资源(比如另一个锁)3、非抢占:线程获得的资源不能被抢占(比如锁,只能线程自己释放)4、循环等待:线程之间存在环路,环路上的每个进程都抢占着环路中的下个进程所需要的资源...

2020-03-03 18:20:03 66

原创 宏定义(#define)、内联函数、typedef的区别

首先,说说三个名词的基本概念:1、宏定义:一种简单的发生在编译之前的文本插入替换。语法: #define p_char char*注意!不需要分号标识结束2、typedef:发生在编译期间,用于定义类型别名语法:typedef char* p_char;注意!需要分号标识结束typedef可以用于各种数据结构的别名定义,但是宏定义比起typedef更容易引起危险。详见以下示例:#i...

2020-03-02 19:42:21 471

原创 结构体内存对齐问题

假设CPU要读取一个4字节大小的数据到寄存器中(假设内存读取粒度是4),分两种情况讨论: 1.数据从0字节开始(内存对齐)2.数据从1字节开始(内存不对齐)   当数据从1字节开始的时候,问题很复杂,首先先将前4个字节读到寄存器,并再次读在这里插入代码片了这么多额外操作,大大降低了CPU 的性能。     但是这还属于乐观情况,内存对齐的作用之一是平台的移植...

2020-03-02 18:59:48 88

原创 操作系统(转载自TK大佬的技能树及hanabi777

以下大部分为转载,感谢TK大佬转载连接:操作系统https://github.com/linw7/SkillTree/blob/master/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.mdSockethttps://blog.csdn.net/qq_41165567/article/details/88965508(1)进程和线程的区别fork()和p...

2020-03-02 12:12:50 669

空空如也

空空如也

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

TA关注的人

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