<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[supdriver的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/supdriver</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; supdriver]]></copyright><item><title><![CDATA[Rust闭包的魔法：从捕获机制到所有权的完美交响曲]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/154126651</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/154126651</guid><author>supdriver</author><pubDate>Thu, 30 Oct 2025 14:51:29 +0800</pubDate><description><![CDATA[在函数式编程的世界里，闭包是一等公民。但Rust的闭包远不止是"能捕获环境变量的匿名函数"这么简单。它是Rust所有权系统、借用检查器和零成本抽象理念的完美结晶。今天，让我们揭开Rust闭包的神秘面纱，探索其背后精妙的类型系统设计和内存管理哲学。]]></description><category></category></item><item><title><![CDATA[Rust错误处理的艺术：从Result到?运算符的优雅进化之旅]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/154126327</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/154126327</guid><author>supdriver</author><pubDate>Thu, 30 Oct 2025 14:40:16 +0800</pubDate><description><![CDATA[Rust的错误处理不仅仅是技术实现，更是一种工程文化。它告诉我们：错误是系统的一部分，而非异常；处理错误是开发者的责任，而非选项。从Result的类型安全，到?运算符的语法优雅，再到anyhow的实用主义，Rust为我们提供了一套完整的错误处理工具链。掌握这些工具，意味着我们能够构建出更加可靠、可维护的软件系统。🚀。]]></description><category></category></item><item><title><![CDATA[ Rust 内存分配的极致优化：从栈到池的性能炼金术]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/154121370</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/154121370</guid><author>supdriver</author><pubDate>Thu, 30 Oct 2025 12:02:27 +0800</pubDate><description><![CDATA[本文深入探讨Rust中减少内存分配的核心策略：1.预分配消除动态扩容；2.栈上分配与SmallVec优化；3.对象池复用降低分配频率；4.Cow智能共享延迟分配；5.自定义内存池分配器。通过将这些方法组合应用于日志缓冲区等实际案例，可显著提升性能3倍以上。Rust性能优化的本质在于系统性地理解所有权模型、硬件特性与业务场景，用测量数据指导优化决策，在&quot;零成本抽象&quot;哲学下实现极致效率。]]></description><category></category></item><item><title><![CDATA[驾驭 Rust 并发之刃：从纳秒级优化到多核战场的制胜之道]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/154120649</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/154120649</guid><author>supdriver</author><pubDate>Thu, 30 Oct 2025 11:49:30 +0800</pubDate><description><![CDATA[摘要：Rust的并发性能优化需深入理解所有权系统、内存模型及硬件特性。核心关注点为竞争开销、同步成本与缓存一致性。建议采用细粒度锁策略（如RwLock）、无锁数据结构（原子操作配合合理内存顺序），并注意缓存行对齐避免伪共享。任务粒度需平衡调度与并行收益，推荐使用perf等工具进行基准测试。优化应在安全保证与性能间取得平衡，基于数据分析而非盲目优化。Rust的零成本抽象仍需开发者理解底层机制才能发挥最佳性能。]]></description><category></category></item><item><title><![CDATA[Rust 异步性能最佳实践：从理论到深度优化]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/154119716</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/154119716</guid><author>supdriver</author><pubDate>Thu, 30 Oct 2025 11:25:16 +0800</pubDate><description><![CDATA[摘要：本文深入探讨Rust异步编程的性能优化策略。从异步运行时机制、任务调度策略，到内存布局优化和并发原语选择，系统分析了关键优化点。重点包括：合理控制任务粒度以平衡调度开销；利用enum管理状态机减小Future体积；采用异步友好的锁和无锁设计；实现零拷贝操作和背压控制。通过编译器优化和性能剖析工具，在保持类型安全的前提下实现精细化调优，充分发挥Rust零成本异步抽象的优势。]]></description><category></category></item><item><title><![CDATA[通过设计list类深入理解iterator迭代器]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191208</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191208</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:46:06 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站:设计模式介绍:TODOIterator迭代器实际上也是一种设计模式，它提供了一种方法一个聚合对象中下面先迅速地搓一个list类。]]></description><category></category></item><item><title><![CDATA[network初识计算机网络]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191198</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191198</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:45:15 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站:----这是第一条ARPANET信息，发送于1969年10月29日，从加州大学洛杉矶分校（UCLA）发往斯坦福大学。这条消息本来想说的是“登录”（LOGIN），但是系统崩溃了。因特网初创于20世纪60年代，其初衷在于建造一个网络来如今的因特网由几百万个松散连接的，其中的每个网络都连接到另外一个或多个网络。邻近的计算机通过本地的局域网相互连接，这些局域网通常为无线以太网。网络之间通过网关或路由器相互连接。]]></description><category></category></item><item><title><![CDATA[Cpp售货机类模拟实现]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191191</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191191</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:44:38 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站: www.supdriver.top
这是一篇复习类的博客,主要综合运用以下知识：为了简便，就把类的声明和实现写在同一个文件里了
这里一次性给出所用的头文件，后文便不再添加了售货机当然要管理商品啦，那怎么管理呢？依然是先描述，再组织怎么描述？把它封装成商品类
怎么组织？用储存，用建立以为键，为值的索引，统一管理所有商品
实现增加货物和销售货物
这里就要使用子函数的概念了。将实际增加货物的功能和IO功能进行解耦合，封装在两个函数中。负责实现增加货物，负责和回调
销售货物也是同理
]]></description><category></category></item><item><title><![CDATA[logSystemLinux日志系统]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191182</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191182</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:43:51 +0800</pubDate><description><![CDATA[本次要用到的头文件依然较多,而用到的宏定义有文件名和缓冲区大小，因为有时日志要打印到文件中，所以要准备一个文件名#define LOG_FILE "log.txt"//日志文件名#define SIZE 1024 //缓冲区大小。]]></description><category></category></item><item><title><![CDATA[C++特殊类的设计]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191175</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191175</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:43:20 +0800</pubDate><description><![CDATA[即可。]]></description><category></category></item><item><title><![CDATA[C++继承]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191168</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191168</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:42:47 +0800</pubDate><description><![CDATA[继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段，它允许程序员在保持原有类特性的基础上进行扩展，增加功能，这样产生新的类，称派生类。继承呈现了面向对象程序设计的层次结构，体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用，继承是类设计层次的复用下面用一个简单的示例演示一下继承示例public:protected:public:private:int main()stu.Info();return 0;不可见。]]></description><category></category></item><item><title><![CDATA[RBTree手撕红黑树]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191161</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191161</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:42:07 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站: www.supdriver.top虽然作为绝对的平衡搜索二叉树，有着极高的查询效率，但正因为其严格的要求，修改的某个结点时，可能要一路调整到根节点，效率低下。为了解决这一痛点，略微没那么严格的近似平衡搜索二叉树，即被提出红黑树，是一种二叉搜索树，但在每个结点上，可以是或。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制，红黑树确保没有一条路径会比其他路径长出俩倍，因而是接近平衡的。首先与一般的定义不同，在红黑树中将(上图为)作为,然后我们来讨论具体的性质思考：为什么满]]></description><category></category></item><item><title><![CDATA[AVLTree手撕AVL树]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191152</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191152</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:41:13 +0800</pubDate><description><![CDATA[一棵AVL树或者是空树，或者是具有以下性质的二。]]></description><category></category></item><item><title><![CDATA[进程间通信–匿名管道与命名管道]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191112</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191112</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:39:55 +0800</pubDate><description><![CDATA[首先，管道是Unix中最古老的进程间通信的形式。它用于进程间的单向通信那么具体是怎样实现的呢？从标题里就可以发现，是基于文件既然一个文件可以被多个进程打开，那么不妨将文件作为两个进程通信的媒介。但是一般位于磁盘上的文件，IO效率相比于CPU内存之类的读写速度慢了几个数量级，但文件是可以被加载到内存中的，而专门建立在内存中,而没有磁盘文件，专门用于进程间通信的内存级文件，我们就叫它管道文件管道文件由内核维护管道文件是单向的，可以是父进程->子进程，也可以子进程->父进程。]]></description><category></category></item><item><title><![CDATA[progressMSG进程间通信]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148191053</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148191053</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:34:42 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站:本篇博客更偏向于总括和导航,部分概念更细致的介绍将内嵌链接在文章中。]]></description><category></category></item><item><title><![CDATA[【Linux】简易进程池]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148190998</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148190998</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:30:39 +0800</pubDate><description><![CDATA[原文及更多原创文章见我的网站: www.supdriver.top可用于父子进程间的通讯，于是可以有父进程创建多个子进程形成，并通过文件向各个子进程戳我去管道原理🔗这里使用C++编写进程池代码，在程序中创建多个进程，并在父进程中使用自定义类用于描述和管理子进程,然后在中模拟一些任务给主程序随机派发这次对形参有了新的规范,这里用代指形参名这里使用编译，规定语法标准为
准备任务文件
首先要准备前后需要用到的头文件,然后构建模拟任务，并提供加载任务列表的函数
编写主程序
主程序文件名为,我们按类和接口从上往下编]]></description><category></category></item><item><title><![CDATA[Linux原生线程 与 互斥锁]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148190988</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148190988</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:29:24 +0800</pubDate><description><![CDATA[在一个程序（进程）里的一条执行流就叫做线程(thread),也就是说有多线程功能的进程内，可以有多个线程同时执行一个进程至少有一个执行进程线程在进程内部运行，本质是在进程提供的地址空间内运行而对于Linux实现的线程，本质上是轻量化的进程，还是用的去维护的每一个线程关于线程间内存共享如上图所示，线程之间只有栈区是相互独立的， 像是全局变量堆区数据都是共享的。]]></description><category></category></item><item><title><![CDATA[【数据结构】一步到胃，键值对版二叉搜索树]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148190973</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148190973</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:28:22 +0800</pubDate><description><![CDATA[二叉搜索树的定义根的左右孩子存在时，满足 左孩子 < 根 < 右孩子递归定义左子树的根根右子树的根左子树是二叉搜索树右子树是二叉搜索树二叉树的节点用于储存键值对和左右指针，并提供默认构造函数,使用初始化列表初始化成员变量public:{}//指向左子树//指向右子树K _key;//储存键V _value;//储存值。]]></description><category></category></item><item><title><![CDATA[Linux文件系统]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148190953</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148190953</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:27:12 +0800</pubDate><description><![CDATA[原文见我的网站: www.supdriver.top这里介绍一下里的分区内容Linux中，每一个文件都有自己的inode,而每一个inode有自己的inode编号（按分区为单位）特别的：尽管inode储存了文件的属性，文件名并不属于inode也是!目录也有自己的和数据块目录的数据块储存了该目录下，文件的文件名和文件的映射关系创建文件主要有以下4个操作Linux文件系统中特别重要*的一点是：文件系统使用管理文件，而不是文件名，所以使用唯一指定文件。也就是说找到了才是真正找到了基于此理论，我们可以更好地理解和使]]></description><category></category></item><item><title><![CDATA[初识动静态库]]></title><link>https://blog.youkuaiyun.com/supdriver/article/details/148190941</link><guid>https://blog.youkuaiyun.com/supdriver/article/details/148190941</guid><author>supdriver</author><pubDate>Sat, 24 May 2025 14:26:09 +0800</pubDate><description><![CDATA[原文见我的网站: www.supdriver.top程序在编译链接的时候把库的代码链接到可执行文件中。编译出的程序运行时不再需要静态库这里使用编译获得链接文件，再用归档工具中的指令配合选项(replace and create)封装库文件,最后借助简化文件目录的封装操作使用第三方库时,还可以使用查看库中的目录列表使用静态库：编译时使用第三方静态库必须包含以下选项：否则编译器不知道头文件在哪，或者不知道链接哪个库库的搜索会按照一定的顺序测试程序（共个文件）
然后我们编写文件
作为中的变量，储存了，默认的指令用]]></description><category></category></item></channel></rss>