
从零单排
文章平均质量分 62
从零单排
鲜花盔甲的主人
大家好!!!
展开
-
高考了高考了
不知不觉又到高考了!原创 2023-06-07 21:05:01 · 283 阅读 · 0 评论 -
redis-常见面试问题
1 aof 追加,命令协议,执行执行个命令恢复数据 aof三种配置: 1 always 每个命令落盘,阻塞当前线程,代价最高,丢失数据最少。fork进程写时复制流程 1 先复制进程,包括内存页表,并设置为只读,父子进程同时指向一块只读的物理内存 2 主进程写数据时,发生缺页中断,触发缺页处理函数,复制一块相同的物理内存,子进程指向此内存,父进程设置为可读可写。链表,扩容-有子进程的前提下才进行,渐进式rehash,前提没有子进程的前提下才进行。rdb 文件小,数据恢复快,丢失数据多。原创 2023-04-03 09:32:44 · 565 阅读 · 1 评论 -
设计模式-责任链模式
3 从实现上看引入模式后代码量增大不少,但是设定了一个稳定点,后续不管是修改每个处理的条件、处理的顺序、以及增删处理都会比较简单,也更加符合设计原则。该模式使一个对象无需知道是其他哪一个对象处理其请求,仅需要知道请求处理的结果。处理者handler处理它所负责的请求,如果可处理则处理,否则将该请求转发给它的后继者。2 部门主管无权限处理时再向他的上级申请比如项目主管,项目主管进行处理。3 项目主管无权限处理时再向他的上级申请比如区域主管,区域主管进行处理。变化点 节点的处理的条件或者处理顺序。原创 2023-03-16 21:06:19 · 685 阅读 · 0 评论 -
C++20 协程体验
协程是比线程更加轻量级并发编程方式,CPU资源在用户态进行切换。协程完成异步的调用流程,并对用户展示出同步的使用方式。协程的调度又应用层决定,所以不同的实现会有不同的调度方式,调度策略比较灵活。协程是基于线程之上运行,同一个线程中,协程是串行的,不会产生线程资源的竞争,不同的协程间却是相互交叉运行的,只要依赖的线程没有终止,协程最终会跳转回来。c++20 协程通过三大关键字co_waitco_returnco_yield在函数中使用到以上关键字的函数被称为协程函数,并且通过该关键字完成跳转。原创 2023-03-06 18:34:34 · 2319 阅读 · 3 评论 -
TCP协议的可靠性
TCP作为传输层协议,提供可靠的传输服务。可靠性:保证消息不重复、不丢失、不乱序。如何保证可靠性:TCP协议依据面向连接、流量控制、拥塞控制特性达到可靠的目的。原创 2023-02-05 11:35:20 · 1261 阅读 · 0 评论 -
IO多路复用 select、poll 、epoll
IO多路复用指能在同一个线程中同时监听多个文件描述符是否就绪,从而达到高效操作就绪fd的作用。select、poll 、epoll是经常使用的三种多路复用接口。其中select、poll在各系统中基本都有实现, linux有epoll,windows下则有iocp.select、poll 、epoll共同点:提供检测fd就绪的机制,使其可以在一个线程内处理多个客户端消息。原创 2023-01-29 14:48:28 · 695 阅读 · 0 评论 -
网络IO模型
一提到网络IO,甚至一些网络框架,就无法避免遇到阻塞、非阻塞、同步、异步的概念,要理解这些概念,先要清楚网络IO是什么,以及网络IO如何工作。网络IO本质上也是IO的一种,就是数据的输入输出,可以理解为文件fd,这里也可以指socket fd。网络IO的处理流程,涉及到操作系统的用户空间与内核空间,在这两个阶段中发生的不同情况,从而衍生出多种网络IO模型。阻塞/非阻塞 从内核处理系统调用是否挂起用户线程的角度划分。同步/异步 从用户线程系统调用后后续的处理逻辑划分。原创 2023-01-29 11:42:10 · 594 阅读 · 0 评论 -
网络编程基础
3.3.1 TCP三次握手、四次挥手3.3.2 TCP慢启动、拥塞控制3.3.3 TCP滑动窗口3.3.4 TCP状态迁移图。原创 2023-01-28 18:42:15 · 624 阅读 · 0 评论 -
数据结构 简述
数据结构是相互间存在特定关系的数据的集合。原创 2023-01-28 16:59:06 · 320 阅读 · 0 评论 -
设计模式 缘起
定义:软件开发中用于解决特定环境下,反复出现的问题的解决方案来源:在实践中使用面向对象的思想,满足设计原则一步步迭代而来目的:一个系统总是趋于稳定与变化之间,根据变化点选择合适的设计模式,增强系统的灵活性。做法:期望已少量的代码应对变化,提高复用。依据:面向对象的设计原则依赖倒置(DIP):高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定);抽象不应该依赖于实现细节(变化),实现细节应该依赖于抽象;开闭(OCP):对扩展开发,对修改关闭单一职责(SRP):类的职责单一。原创 2023-01-28 16:12:28 · 890 阅读 · 0 评论