![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux服务器开发
文章平均质量分 94
Linux技术狂
C/C++Linux后台服务器开发高级架构师内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,音视频开发,Linux内核,TCP/IP,协程,DPDK多个高级知识点。只要备注【TTT】即可获得,不备注没有哦
展开
-
2023年【零声教育】13代C/C++Linux服务器开发高级架构师课程体系分析
C/C++Linux后台服务器开发高级架构师内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,音视频开发,Linux内核,TCP/IP,协程,DPDK多个高级知识点。原创 2023-08-01 19:56:17 · 1996 阅读 · 0 评论 -
设计模式第八讲:观察者模式和中介者模式详解
(1). 定义指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式模型-视图模式,它是对象行为型模式。PS: 观察者模式是 【1对多】的关系,后面的中介者模式是 【多对多】的关系。(2). 优点:A. 降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。B. 目标与观察者之间建立了一套触发机制。(3). 缺点:A. 目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。原创 2023-02-23 20:38:07 · 765 阅读 · 0 评论 -
设计模式第七讲-外观模式、适配器模式、模板方法模式详解
(1). 定义是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。(2). 优点A. 降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类。B. 对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易。原创 2023-02-17 14:39:22 · 599 阅读 · 0 评论 -
设计模式第六讲:责任链模式和迭代器模式详解
(1). 定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。PS:责任链模式也叫职责链模式。在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链将请求的发送者和请求的处理者解耦了。(2). 优点:A. 降低了对象之间的耦合度。原创 2023-02-15 15:11:08 · 455 阅读 · 0 评论 -
设计模式第五讲-装饰器模式和代理模式详解
(1). 定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。(2). 优点:A. 采用装饰模式扩展对象的功能比采用继承方式更加灵活。B.可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。(3). 缺点装饰模式增加了许多子类,如果过度使用会使程序变得很复杂。(1). 定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。原创 2023-02-14 14:32:47 · 994 阅读 · 0 评论 -
设计模式-值类型与引用类型、深拷贝与浅拷贝、原型模式详解
(1). 值类型有更好的效率,但不支持多态,适合用作存储数据的载体。而引用类型支持多态,适合用于定义程序的行为。(2). 引用类型可以派生新的类型,而值类型不能。定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。原创 2023-02-11 17:46:43 · 716 阅读 · 0 评论 -
设计模式-组合模式和建筑者模式详解
(1). 定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。(2). 优点:A. 组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码;B. 更容易在组合体内加入新的对象,客户端不会因为加入了新的对象而更改源代码,满足“开闭原则”;(3). 缺点A. 设计较复杂,客户端需要花更多时间理清类之间的层次关系;B. 不容易限制容器中的构件。原创 2023-02-10 20:33:24 · 1062 阅读 · 0 评论 -
设计模式-策略模式详解
(1) 定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。(2) 优点:A. 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句。B. 策略模式提供了一系列的可供重用的算法族,恰当使用继承可以把算法族的公共代码转移到父类里面,从而避免重复的代码。原创 2023-02-09 14:24:43 · 356 阅读 · 0 评论 -
设计模式-工厂方法模式和抽象工厂模式
(1) 定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。抽象工厂需要满足下面条件:A. 系统中有多个产品族,每个具体工厂创建同一族但属于不同等级结构的产品。B. 系统一次只可能消费其中某一族产品,即同族的产品一起使用。(2).优点。原创 2023-02-08 17:10:00 · 934 阅读 · 0 评论 -
「AVL平衡树专项」带你领略常用的AVL树与红黑树的奥秘(规则篇)
满足下列条件的二叉搜索树是红黑树每个结点要么是“红色”,要么是“黑色”所有的叶结点都是空结点,并且是“黑色”的。如果一个结点是“红色”的,那么它的两个子结点都是“黑色”的。(注:也就是說,如果結點是黑色的,那么它的子節點可以是紅色或者是黑色的)。结点到其子孙结点的每条简单路径都包含相同数目的“黑色”结点根结点永远是“黑色”的之所以称为红黑树的原因就在于它的每个结点都被“着色”为红色或黑色。这些结点颜色被用来检测树的平衡性。原创 2023-02-04 14:49:08 · 684 阅读 · 0 评论 -
深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
Nginx再次回顾也许你已经忘记了Nginx是做什么的?我来再次给你夯实一下概念。多协议反向代理Nginx是个高性能的Web和反向代理服务器及HTTP服务器,它能反向代理HTTP,HTTPS和邮件相关(SMTP,POP3,IMAP)的协议链接,还可以提供了负载均衡以及HTTP缓存。原创 2023-02-03 15:15:19 · 590 阅读 · 0 评论 -
宕机了,Redis 如何避免数据丢失?
如果有人问你:"你会把 Redis 用在什么业务场景下?"我想你大概率会说:"我会把它当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。"没错,这确实是 Redis 的一个普遍使用场景,但是,这里也有一个绝对不能忽略的问题:一旦服务器宕机,内存中的数据将全部丢失。目前,Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB(Redis DataBase) 快照。说到日志,我们比较熟悉的是数据库的写前日志(Write A原创 2023-02-02 14:41:54 · 532 阅读 · 0 评论 -
一文揭晓,我是如何在Linux中查找自如
以上操作我们能够通过 find 命令来查找结果,但更多时候我们真正想做的是对结果执行某些特殊操作。当我们想要删除 /Users/cbuc/testdir/dir2 这个目录时,我们可以通过以上认识到的操作先进行查找然后使用 -delete 命令来删除当前匹配的文件可以发现, /Users/cbuc/testdir/dir2 这个目录已经被删除了删除当前匹配的文件对匹配的文件执行相当于 ls -dils 命令的操作将匹配文件的完整路径名输出至标准输出一旦发现匹配就退出。原创 2023-02-01 16:55:50 · 379 阅读 · 0 评论 -
树与二叉树深度剖析(二)
(1). 第一个节点先成为表示树的根(2). 第二个结点插入时变为根,原根结点变为新结点的左孩子。(3). 插入节点为数字时,沿根结点右链插入到最右端。(4). 插入节点为操作符时,先与根结点操作符优先级对比。a.优先级不高时,新结点成为根结点,原表达式成为新结点的左子树。b.优先级高时,新结点成为根结点的右孩子,原根结点的右孩子成为新结点的左子树。代码分享:/// 树节点类set;} //左孩子set;} //右孩子set;} //数据} //是否为操作符/// 数据构造。原创 2023-01-29 14:53:07 · 598 阅读 · 0 评论 -
树与二叉树深度剖析(一)
本身是有序树,树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2。二叉树有五中基本形态:空二叉树,仅有根节点的二叉树,右子树为空的二叉树,左子树为空的二叉树,左右子树均非空的二叉树。原创 2023-01-28 16:12:12 · 742 阅读 · 0 评论 -
从状态机的角度async和await的实现原理
(1).含义:通常我们所说的状态机(State Machine)指的是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型,可以理解成一个状态转换图。(状态机是计算机科学的重要基础概念之一,也可以说是一种总结归纳问题的思想,应用范围非常广泛)(2).例子:自动门有两个状态,open 和 closed ,closed 状态下,如果读取开门信号,那么状态就会切换为 open。原创 2023-01-13 14:30:50 · 1326 阅读 · 0 评论