- 博客(78)
- 收藏
- 关注
原创 【Linux】高级IO --- Reactor网络IO设计模式
epoll的ET和LT工作模式,为什么说ET模式是高效的?Reactor完整服务器的实现,处理读 写 异常事件,接入应用层序列化反序列化,协议定制等代码。
2023-09-07 19:58:44
1557
25
原创 【Linux】高级IO --- 多路转接,select,poll,epoll
五种IO模型,编写select_server,poll_server,epoll_server服务器代码,理解epoll模型的底层原理,总结select poll epoll三者的优缺点……
2023-09-05 20:37:46
1275
23
原创 【Linux】DNS系统,ICMP协议,NAPT技术
DNS域名解析,ICMP查询和差错报文,NAPT技术,代理服务器,总结网络协议栈学到的知识……
2023-08-27 14:57:52
1268
27
原创 【Linux】数据链路层:以太网协议
以太网帧和局域网转发数据包的原理,以太网技术,MTU对上层协议的影响,数据碰撞,碰撞检测,碰撞避免,交换机,系统角度重新看待局域网,ARP协议,ARP缓存,ARP欺骗攻击……
2023-08-22 22:08:39
1256
31
原创 【Linux】网络层协议:IP
TCP与IP之间的关系,IP报头的理解,网段的划分,私有ip和公网ip,内网数据包转发到公网服务器的过程,NAT技术,IP报文的路由,IP报文的分片
2023-08-22 11:48:24
2123
17
原创 【Linux】传输层协议:UDP和TCP
理解端口号,UDP面向数据报,网络协议栈和Linux系统的联系,从代码层面理解TCP报头,TCP的确认应答,流量控制,超时重传,连接管理,为什么要三次握手,四次挥手时重点理解TIME_WAIT和CLOSE_WAIT状态,滑动窗口,拥塞控制,MSS和SMSS,慢启动和拥塞避免,延迟应答、捎带应答,TCP异常情况,listen第二个参数backlog的理解
2023-08-17 09:43:56
1588
27
原创 【MySQL】MySQL数据库的进阶使用
对表的CURD操作,聚合函数,group by、having、order by,limit等关键字的使用,MySQL内置函数,MySQL多表查询,子查询,内连接,左外连接,右外连接,
2023-07-21 20:54:15
390
24
原创 【MySQL】MySQL数据库的初阶使用
MySQL的安装,MySQL架构和数据库的认识,MySQL的库和表结构操作,MySQL数据类型,约束…
2023-07-19 21:35:41
1247
24
原创 【Linux】应用层协议:HTTP和HTTPS
URL,HTTP请求和响应的格式,服务器响应html网页到浏览器,在网页中增加图片,跳转链接等,HTTP的请求方法,状态码和其他头部字段,长连接,周边会话保持,postman和fiddler工具的使用,对称加密和非对称加密,数据指纹,HTTPS的工作过程探究…
2023-06-23 17:23:23
2708
34
原创 【Linux】TCP网络套接字编程+协议定制+序列化和反序列化
单进程,多进程,多线程,线程池,守护进程化版本的TCP服务器设计,自定义协议和序列化/反序列化的TCP服务器,使用现成的json序列化方案,网络通信的本质和处理黏包问题的方式,OSI上三层模型和我们的软件分三层的对应…
2023-06-05 21:53:50
921
34
原创 【Linux】网络基础+UDP网络套接字编程
局域网广域网,网络协议分层,MAC地址和IP地址,以太网和互联网,数据传输的基本流程,数据包封装和解包分用,UDP网络套接字编程,翻译单词,执行bash指令,online用户的消息群发,win+linux联动等通信版本代码的实现…
2023-06-03 11:14:17
737
30
原创 【C++】C++11线程库 和 C++IO流
C++11线程库,原子操作,unique_lock,条件变量,C++标准IO,文件IO,字符串IO…
2023-05-24 10:33:59
948
32
原创 【C++】异常+智能指针+特殊类和类型转换
处理错误的异常体系,智能指针unique_ptr,shared_ptr,引用计数,线程安全,循环引用,weak_ptr,定制删除器,常见特殊类,单例模式,C++的四种类型转换…
2023-05-23 10:30:38
561
28
原创 【Linux】多线程 --- POSIX信号量+懒汉模式的线程池+其他常见锁
POSIX信号量实现的环形队列版本的生产消费模型,懒汉单例模式的线程池,自旋锁vs挂起等待锁,读者写者模型,读写锁的伪代码……
2023-05-16 21:40:23
698
38
原创 【Linux】多线程 --- 线程同步与互斥+生产消费模型
线程互斥,加锁和解锁的原子性,死锁,条件变量,线程同步,串行并发并行的概念,基于阻塞队列的生产消费模型……
2023-05-12 21:20:33
915
31
原创 【Linux】多线程 --- 线程概念 控制 封装
linux下线程的概念,线程的创建 终止 等待 分离,线程的局部存储,线程库的动态加载以及映射段的理解,线程以面向对象封装出一个小组件……
2023-05-06 22:07:10
818
37
原创 【C++】C++11常用特性总结
统一的列表初始化{},右值引用和移动语义,类中成员函数声明的关键字,lambda表达式,可变参数模板,function包装器……
2023-04-30 17:38:41
933
31
原创 【Linux】进程信号 --- 信号的产生 保存 捕捉递达
针对于普通信号的整个生命周期都做了详细的讲解,从四种产生的情况,到通过内核数据结构进行信号的保存,再到信号被捕捉递达的完整流程,抛出了内核态用户态,内核级页表,CPU工作原理等许多重要的小知识点,最后进行了信号部分代码的编写,以及部分知识的补充,干货满满!
2023-04-22 17:43:20
878
40
原创 【Linux】进程间通信 --- 管道 共享内存 消息队列 信号量
进程间通信的本质,匿名管道,命名管道,基于管道的进程池设计,共享内存,消息队列、信号量,IPC资源的组织方式…
2023-04-16 10:35:33
824
46
原创 【C++】开散列哈希表封装实现unordered_map和unordered_set
unordered系列关联式容器,哈希冲突和哈希函数,闭散列和开散列哈希表的实现,用闭散列哈希表封装实现unordered_set和map,封装实现时哈希表特殊的const迭代器……
2023-04-05 20:07:12
722
42
原创 【C++】红黑树封装实现map和set
用一棵红黑树封装map和set,set表层迭代器底层均为红黑树的const迭代器,实现map的[ ]重载……
2023-04-01 17:19:20
857
45
原创 【C++】AVL树和红黑树的插入
AVL树的旋转调平衡:单旋时三叉链结构的诸多细节,双旋时恶心的平衡因子调节。红黑树的旋转+变色:关键在于uncle的颜色,第一次新增红色结点只可能出现第一种情况,没有可能出现第2或3种情况,2或3都是1之后延申。
2023-03-29 17:23:59
688
38
原创 【C++】map、set、multimap、multiset的介绍和使用
1.在set中,key和value是同时被标识的,所以key就是value,正由于key就是value,所以set容器中的元素不允许被修改,每个元素都被const修饰,只能增insert删erase查find。2.set在比较时默认使用缺省的仿函数less< T >,所以一旦比较成功时,较小元素就被插入到左边,较大元素就被插入到右边,那么在中序遍历时,结果自然就是升序结果。如果改为greater< T >,则逻辑就会反过来,中序遍历结果就是降序。3.
2023-03-25 20:43:33
867
44
原创 【C++】继承
继承的切片赋值,隐藏和重载的区别,派生类的默认成员函数,继承体系的静态成员,多继承的大坑菱形继承,解决菱形继承问题的菱形虚拟继承,适用继承或组合的情景……
2023-03-14 11:54:42
414
3
原创 【C++】通过priority_queue、reverse_iterator加深对于适配器和仿函数的理解
仿函数,通过优先级队列理解仿函数和适配器,反向迭代器本质还是适配器…
2023-03-11 15:26:38
738
43
原创 【C++】通过stack、queue、deque理解适配器模式
stack和queue的OJ题,适配器模式,deque的结构和优缺点,deque作为stack和queue的适配容器,再次加深对于vector和list的理解…
2023-03-10 22:02:07
819
34
原创 【C++】list迭代器的深度剖析及模拟实现(感受类封装,类和对象的思想)
list迭代器的深度剖析,感受类封装,类和对象的思想,反过来思考迭代器类的设计,感受模板参数带来的好处,对比vector和list…
2023-03-07 16:04:19
1070
44
原创 【C++】list的使用和基本迭代器框架的实现 & vs和g++下string结构的说明
list的基本使用,迭代器框架的实现,vs和g++下string结构的不同…
2023-03-07 15:34:22
835
19
原创 【C++】vector的基本使用
vector在vs和g++的扩容机制,缩容和扩容函数的设计理念,对于异地扩容的加深理解,vector和malloc对比实现动态开辟的二维数组,增加对于迭代器的使用…
2023-02-28 20:33:05
1216
43
原创 【C++】string类的模拟实现
string类的主要功能函数的模拟实现Default member functions、Iterators、Capacity、Element access、Modifiers、String operations、Non-member function overloads,free空指针并不会报错,free内部检查指针如果为空,则什么都不做
2023-02-26 15:47:32
1001
38
原创 【C++】string类的基本使用
string类对象的构造、三种遍历操作、迭代器、容量操作、修改操作、字符串操作、元素访问、非成员函数重载…
2023-02-22 19:40:27
1066
37
原创 【C++】C&C++内存管理
C/C++中的内存管理,new和delete的用法、new和delete不匹配的vs底层实现机制、operator new和operator delete全局函数、定位new表达式、常见面试题、内存泄露…
2023-02-09 19:00:14
2021
54
空空如也
多线程出问题之后,有什么好的解决方式吗?
2023-05-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人