logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[C++——lesson29.数据结构进阶——「AVL树」]

本文介绍了AVL树的基本概念和实现原理。AVL树是一种高度平衡的二叉搜索树,通过平衡因子和旋转操作来维持树的平衡,避免退化为单支树。文章详细讲解了AVL树的节点定义、插入操作以及四种旋转方式(左单旋、右单旋、右左双旋、左右双旋),并提供了旋转操作的代码实现和抽象图演示。此外,还介绍了AVL树的合法性检验方法和性能特点,指出其在查询性能上的优势及结构修改时的性能局限。AVL树适合存储静态数据,而红黑

文章图片
#算法
[Linux网络基础——Lesson12.「五种 IO 模型与非阻塞 IO」]

本文深入解析I/O模型,揭示网络问题本质是I/O问题。通过餐厅点餐类比,详细对比五种I/O模型(阻塞/非阻塞/信号驱动/多路复用/异步)的核心差异与应用场景。重点指出高效I/O的关键在于减少等待时间而非单纯优化拷贝速度,并强调非阻塞I/O在高并发场景的优势。文章还澄清了同步/异步与阻塞/非阻塞的概念区别,最后通过fcntl函数实现非阻塞I/O的实践案例,帮助开发者构建完整的I/O知识体系。核心结论

文章图片
#linux#网络#php
[C++——lesson41.「智能指针」]

本文系统介绍了C++智能指针的核心概念与应用。首先阐述了手动内存管理的缺陷及智能指针的必要性,重点剖析了内存泄漏的危害。随后详细讲解了智能指针的RAII实现原理,对比分析了auto_ptr、unique_ptr和shared_ptr的特性与适用场景,特别针对shared_ptr的引用计数机制和循环引用问题给出了解决方案。文章还涵盖了定制删除器的使用方法和常见面试题解析。最后总结指出:智能指针是C+

文章图片
#算法#c++#数据结构
[Linux网络基础——Lesson7.「传输层协议 UDP 与 TCP」(三次握手四次挥手)]

本文系统梳理了传输层协议的核心机制,重点对比了UDP与TCP的设计特性。UDP采用无连接、不可靠的极简设计,通过数据报形式实现低延迟传输,适用于DNS、实时音视频等场景;TCP则通过连接管理、确认应答、滑动窗口、流量控制和拥塞控制五大机制构建可靠传输体系,面向字节流特性需要应用层处理粘包问题。文章深入解析了TCP状态转换(TIME_WAIT/CLOSE_WAIT)、可靠传输实现原理,并探讨了UDP

文章图片
#网络#linux#udp
[Linux——Lesson24.线程:线程同步与互斥]

本文系统介绍了Linux多线程编程中的线程互斥与同步机制。主要内容包括: 线程互斥:通过互斥锁(Mutex)保护临界资源,解决数据竞争问题,详细讲解锁的初始化、加解锁操作及底层实现原理。 线程同步:使用条件变量协调线程执行顺序,避免饥饿现象,重点分析等待/唤醒机制及生产者-消费者模型应用。 实践方案:提供线程锁的C++封装实现(RAII风格)及完整示例代码,展示如何正确使用这些机制解决实际问题。

文章图片
#java#jvm#开发语言
[Linux——Lesson21.进程信号:信号概念 & 信号的产生]

本文重点介绍了Linux系统中的信号机制,详细阐述了信号的概念、产生方式及处理流程。信号作为进程间通信的软中断方式,可分为标准信号(1-31)和实时信号(34-64)。文章通过实际案例展示了信号的5种产生方式:键盘输入(如Ctrl+C)、系统调用(kill/raise/abort)、软件条件(如alarm)、硬件异常(除零/段错误)等。特别分析了信号捕捉机制,包括默认处理、忽略和自定义回调函数三种

文章图片
#linux#运维#服务器
到底了