自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (4)
  • 收藏
  • 关注

原创 [Linux#60][HTTPS] 加密 | 数字指纹 | 详解HTTPS工作方案 | CA认证

本文详细地介绍了HTTPS的基本概念、HTTP与HTTPS的区别,以及HTTPS如何通过加密技术和CA认证确保数据传输的安全性。

2024-09-29 20:19:41 1780 59

原创 [Linux#58][HTTP] 自己构建服务器 | 实现网页分离 | 设计思路

本文将从构建最简单的HTTP服务器开始,逐步深入到服务器2.0版本的实现细节,包括协议处理、子进程管理等关键技术点,并探讨服务器与网页分离的设计思路及其重要性。

2024-09-28 10:35:26 1828 54

原创 [Linux#57][HTTP] URL结构 | 原理 | 请求与响应 | postman | fiddler

本文探讨了HTTP协议,从服务器设计原则到HTTP请求响应机制,介绍必备知识与实用工具,并简单搭建了代码验证理论。

2024-09-26 10:57:52 1027 25

原创 [Linux#55][网络协议] 序列化与反序列化 | TcpCalculate为例

本文介绍了结构化数据在网络中的传输方法,通过定义Request和Response类实现序列化与反序列化,并以网络版计算器为例,详细阐述了TCP服务端、客户端的设计及其实现过程,强调了序列化技术在网络通信中的关键作用。

2024-09-20 16:31:42 1404 63

原创 [Linux#49][UDP] 2w字详解 | socketaddr | 常用API | 实操:实现简易Udp传输

详述了Socket编程中关键的地址结构概念,涵盖sockaddr家族的不同变种及其在IPv4、IPv6环境下的应用。通过理论讲解与实践代码相结合的方式,深入解析了Socket API,并探讨了sockaddr结构的通用性和其带来的编程便利

2024-09-13 18:54:16 1551 26

原创 [Linux#48][网络] 令牌环网 | IPv4 | socket 套接字 | TCP | UDP | 网络字节序列

本文介绍了网络基础,包括令牌环网、IP地址及IPv4地址解释,网络通信原理;并介绍Socket编程预备知识,涉及端口号、传输层协议、网络字节序及相关库函数定义与使用。

2024-09-11 09:41:41 1851 11

原创 [C++11#48][智能指针] RAII原则 | 智能指针的类型 | 模拟实现 | shared_ptr | 解决循环引用

本文探讨智能指针的重要性,介绍内存泄漏及其分类,并通过RAII原则说明智能指针如何管理和自动释放资源。通过实例分析string浅拷贝问题及解决方案,详细讲解auto_ptr、unique_ptr、shared_ptr与weak_ptr的使用与实现,最后讨论智能指针的线程安全性和循环引用问题。

2024-09-09 15:39:40 1316 34

原创 [C++#33][异常] 错误码 | 抛出与捕获 | 异常安全 | 异常体系

本文探讨了C与C++在错误处理上的差异,从传统错误码及断言机制到C++先进的异常处理机制及其安全性和资源管理特性,并通过实例展示自定义异常体系的构建与应用。

2024-09-07 09:34:45 1778 69

原创 [C++#28][多态] 两个条件 | 虚函数表 | 抽象类 | override 和 final | 重载 重写 重定义

本文详细介绍了C++中虚函数的基础与高级特性,涵盖虚函数的重写、协变、多态的构成与细节,以及虚函数表的工作原理,并探讨抽象类、继承类型和多态的使用条件与差异。

2024-09-05 12:56:11 1202 4

原创 [C++11#47] (四) function包装器 | bind 函数包装器 | 结合使用

本文介绍 function 包装器在问题求解中的应用,包括使用 bind 绑定调整参数顺序及对类方法的包装技巧。

2024-09-04 20:19:14 1170 2

原创 [C++11#46](三) 详解lambda | 可变参数模板 | emplace_back | 默认的移动构造

本文介绍C++中的lambda表达式和可变参数模板。首先探讨lambda的捕捉列表与底层实现,随后讲解可变参数模板的递归展开、数组接收及应用,包括emplace_back的使用,以及移动构造与拷贝构造的区别与默认生成。

2024-09-04 16:01:47 1079

原创 [C++11#45](二) 右值引用 | 移动语义 | 万能引用 | 完美转发forward | 初识lambda

本文首先介绍了C++中的左值和右值概念,并详细对比了左值引用与右值引用的区别。通过探讨右值引用实现的底层优化,特别是在容器和字符串处理中的应用,展示了其在提高性能方面的重要作用。接着,文章阐述了完美转发技术,包括万能引用的概念及其如何实现数据类型的精确传递。此外,补充讨论了移动赋值操作和右值引用引用左值的特殊情况。最后,文章转向lambda表达式,简要介绍了其引入背景和基本语法,帮助读者理解这一强大的语言特性。

2024-09-03 21:06:28 1275 61

原创 [C++11#44](一) 统一的列表初始化 | 声明 | STL中一些变化 | emplace的优化 | move

本书从回忆基础概念入手,深入探讨了C++11及之后版本中引入的关键特性,包括隐式类型转换、统一的列表初始化、新型声明方式、范围for循环、智能指针以及STL的新容器和接口改进。通过实例讲解final与override关键字的使用,帮助读者掌握现代C++编程的核心技术。

2024-09-02 22:27:06 1268 32

原创 三秒学会--百度网盘下载提速10倍的小tip

如题

2024-08-29 22:22:06 540 2

原创 [Linux#47][网络] 网络协议 | TCP/IP模型 | 以太网通信

本文介绍了网络协议及其分层模型,包括OSI七层模型和TCP/IP四层(或五层)模型,并探讨以太网通信的基本原理,帮助理解网络通信的基础架构与协议栈设计。

2024-08-25 10:09:29 1480 10

原创 [Linux#46][线程->网络] 单例模式 | 饿汉与懒汉 | 自旋锁 |读写锁 | 网络基础 | 书单

讲解了线程安全、锁机制及网络基础,通过实例剖析单例模式、读者写者问题等,助你掌握编程的一些技术。

2024-08-24 13:45:40 1203 2

原创 [Linux#44][线程] CP模型2.0 | 信号量接口 | 基于环形队列

本文介绍了一种基于信号量机制的环形队列生产者消费者模型。通过设计和实现一个高效的阻塞队列 BlockQueue,结合多线程同步技术,解决了多线程环境下数据共享和竞争的问题。通过 Task 类和回调函数 mymath 实现了任务的封装和计算逻辑,有效地利用了生产者-消费者模型的优势,提高了系统吞吐量和资源利用率。

2024-08-22 10:43:34 1184 10

原创 [Linux#43][线程] 死锁 | 同步 | 基于 BlockingQueue 的生产者消费者模型

本文探讨了多线程编程中的关键问题,包括死锁的产生与解决、条件变量的使用,以及基于BlockingQueue的生产者消费者模型的实现与注意事项。

2024-08-21 13:04:37 1628 73

原创 [Linux#42][线程] 锁的接口 | 原理 | 封装与运用 | 线程安全

本文探讨了锁的基本概念与工作原理,包括锁的定义、初始化及加解锁过程。通过封装锁功能,实现了可重入锁与线程安全性的对比分析

2024-08-20 19:48:40 1112 4

原创 [Linux#41][线程] 线程的特性 | 分离线程 | 并发的问题

探讨了Linux环境中线程的基本特性、分离线程的应用以及线程间的互斥机制的必要性,旨在深入理解多线程编程的关键技术与实践。

2024-08-20 14:21:17 1196 36

原创 [Linux#40][线程] 线程控制 | 多线程

本文详细探讨了C++环境下多线程编程的基本概念和技术,包括线程的创建、等待、终止以及线程间的通信机制,并介绍了如何在C++程序中打印线程自身的ID。

2024-08-20 00:31:48 1029

原创 [linux#39][线程] 详解线程的概念

探讨Linux中线程的概念,重新定义线程与进程,深入分析地址空间,并讨论线程的优点与缺点,最后通过小测试巩固理解。

2024-08-18 16:45:51 1060 2

原创 [Linux][OS][信号的捕捉] 可重入函数 | volatile | SIGCHLD信号

介绍了信号处理机制,包括使用sigaction配置信号处理器,确保函数可重入性,利用volatile修饰符保证变量可见性,并演示如何捕获和处理SIGCHLD信号以管理子进程结束事件。

2024-08-17 14:43:09 763

原创 [Linux][OS][信号的保存和处理]

探讨了信号在操作系统内核中的表示及关键概念,详解信号集操作、sigprocmask与sigpending等函数用法,并深入信号捕捉机制与地址空间的关系。

2024-08-16 21:28:24 913 2

原创 [Linux][OS][详解信号的产生]

本文介绍信号的基础概念及在硬件和软件中的作用机制。覆盖了通过键盘快捷键、kill命令、系统调用以及硬件异常等方式生成信号的方法,并简述了软件定时器(闹钟)触发信号的原理。

2024-08-16 19:16:39 1240

原创 【Linux】详解IPC:共享内存

探讨了 Linux 共享内存作为 IPC(进程间通信)技术在操作系统中的重要应用。通过详细介绍共享内存的创建、连接、控制和删除等关键步骤,结合代码示例和实验测试,展示了共享内存如何实现高效、可靠的进程间通信。

2024-08-10 17:10:50 1241 13

原创 【Linux】(32)详解命名管道 | 日志管理 | 进程池2.0

探讨了进程通信与日志管理在现代操作系统中的重要性,实现一个简易通信系统和日志系统,展示了进程池技术在提高系统性能和可维护性方面的潜力。介绍了如何使用Makefile和C++标准库中的可变参数功能来简化构建过程和日志记录

2024-08-09 14:59:31 1880 84

原创 【Linux】详解自定义Shell管道 | 构建简易进程池

利用管道机制构建自定义Shell管道的方法,并在此基础上实现了简易版本的进程池。通过自定义Shell管道,用户能够灵活组合命令处理数据流;而简易进程池则通过多进程并发执行任务,提高了处理效率。文章详细讨论了从解析命令到执行任务的全过程,并通过实验验证了系统的有效性和实用性。

2024-08-08 22:32:07 1112 7

原创 【Linux】进程间通信:详解 VSCode使用 | 匿名管道

本文将带你从Linux下VSCode的高效使用入手,探索进程间通信的基础概念,并深入讲解匿名管道的原理及其实现。从连接云服务器到编写代码,一步步掌握进程间通信

2024-08-05 15:50:11 3101 58

原创 【Linux详解】基础IO:软硬连接 | 动静态库管理

探讨了Linux系统中的文件链接与库管理,首先介绍了软硬链接的概念,包括硬链接的理解和使用,以及软链接的特点和区别。接着详细讲解了动静态库的生成和使用,包括静态库的编译过程和动态库的加载机制

2024-08-04 10:28:54 2515 51

原创 【Linux】(26) 详解磁盘与文件系统:从物理结构到inode机制

探讨了磁盘的基础知识及其在文件系统中的应用,从磁盘的物理结构到逻辑抽象结构,再到inode机制的深入剖析。通过对启动块、超级块、块组描述符、数据块和inode表等关键概念的阐述,本文揭示了文件系统如何高效管理磁盘空间,并通过实例展示了文件增删查改的过程及其对inode缓存的影响

2024-08-01 19:11:48 3632 72

原创 [C++][STL源码剖析] 详解AVL树的实现

探索AVL树,自平衡二叉搜索结构,保障对数级效率。详解初始化、插入与旋转(左、右、双旋)机制,平衡因子调整,附带代码实例,延伸至节点删除挑战。

2024-07-24 15:39:49 2241 91

原创 vs2022一些配置小问题

在“工具”>“选项”>“文本编辑器”>“C/C++”>“高级”中,确保“启用异步工作空间分析”被选中,这有助于提高IntelliSense的性能。: 有时候,清理并重新构建整个解决方案可以解决IntelliSense的问题。在“生成”菜单中选择“清理解决方案”,然后选择“重新生成解决方案”。: 确保你已经保存了所有更改,并且重新编译了你的项目。: 检查是否有可用的Visual Studio更新。: 如果以上方法都无法解决问题,你可以尝试直接输入完整的类型名,而不是依赖于自动补全。

2024-07-24 13:17:00 593 2

原创 【C++】关联容器探秘:Map与Multimap详解

探索C++ STL中Map与Multimap的奥秘,从Pair的基本操作到Map的插入、遍历,深度解析Operator[]机制。对比Map与Unordered_Map,掌握Multimap特性和使用技巧,包括删除操作,全面理解关联容器应用

2024-07-23 23:16:05 1602 51

原创 【C++】详解 set | multiset

本文探讨了C++标准模板库中set与multiset容器的使用,涵盖构造、插入、查找、删除等基本操作,并解析lower_bound、upper_bound及equal_range函数的高效区间搜索机制,为高效数据管理提供实战指南。

2024-07-22 21:12:52 3248 9

原创 15. 【C++】详解搜索二叉树 | KV模型

为了更好地理解 map 和 set 的特性,和后面讲解查找效率极高的平衡搜索二叉树,和红黑树去实现模拟,所以决定在这里对搜索二叉树进行一个讲解~

2024-07-19 15:18:22 2134 84

原创 13. C++继承 | 详解 | 虚拟继承及底层实现

深入解析了C++中继承的核心概念,涵盖定义、作用域规则、成员函数、友元与静态成员处理,以及复杂议题如菱形继承和虚拟继承,辅以反思与常见问题解答。

2024-07-18 22:38:20 1276 55

原创 12.C++模板进阶 | 代码膨胀

探索C++模板的世界,从基本概念到高级技巧,包括非类型模板参数的使用、模板特化的细节、以及模板在分离编译场景下

2024-07-17 16:31:49 1553 12

原创 【Linux】重定向 | 为什么说”一切皆文件?“

讲解了Linux中文件描述符的管理、dup2接口与重定向技术,涵盖输出、追加及输入重定向,最后对“一切皆文件”理念进行理解。

2024-07-14 17:05:28 2594 88

原创 【Linux】1w详解如何实现一个简单的shell

探讨一个简易命令行解释器(CLI)的实现过程,通过分解关键步骤和代码实现,帮助读者理解如何从零开始构建一个能够处理用户输入命令并执行相应操作的程序。文章不仅覆盖了命令行交互、命令解析、内建命令执行及普通命令执行等核心功能,还额外补充了关于文本编辑器(如vim)中文本替换的高级应用

2024-07-12 22:43:55 4425 69

数模论文tip-思维导图版

数学建模论文

2024-06-28

一张思维导图了解vector简单用法

一张思维导图了解vector简单用法

2024-06-17

一看就会的思维导图-C++手动模拟String的增删查改

一看就会的思维导图-C++手动模拟String的增删查改

2024-06-05

C++手动模拟String底层与深浅拷贝

超全的思维导图

2024-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除