- 博客(57)
- 收藏
- 关注
原创 【Linux网络】套接字编程
本篇博客整理了 socket 套接字编程的相关内容,包括 socket 网络通信原理、socket 相关的系统调用接口等,分别演示了基于UDP协议、TCP协议的 socket 网络编程,旨在让读者更加深入理解网络通信原理和设计,对网络编程有初步的认识和掌握。
2024-07-21 19:11:29
1078
原创 【Linux网络】网络基础
本篇博客整理了 Linux 网络编程的前置知识,例如网络的发展、协议和协议栈分层、网络通信原理、网络地址等,为后续进入 Linux 网络编程作铺垫。
2024-07-11 18:18:02
650
原创 【Linux系统】多线程
本篇博客继上一篇《线程与线程控制》,又整理了多线程相关的线程安全问题、互斥与锁、同步与条件变量、生产消费模型、线程池等内容,旨在让读者更加深刻地理解线程和初步掌握多线程编程。
2024-06-22 16:24:56
820
原创 【Linux系统】进程信号
本篇博客整理了进程信号从产生到处理的过程细节,通过不同过程中的系统调用和其背后的原理,旨在让读者更深入地理解操作系统的设计与软硬件管理手段。
2024-06-05 14:59:23
625
原创 【Linux系统】进程间通信
本篇博客整理了进程间通信的方式管道、 system V IPC的原理,结合大量的系统调用接口,和代码示例,旨在让读者透过进程间通信去体会操作系统的设计思想和管理手段。
2024-05-28 15:39:28
793
原创 【Linux系统】文件与基础IO
本篇博客整理了文件与文件系统、文件与IO的相关知识,借由库函数、系统调用、硬件之间的交互、操作系统管理文件的手段等,旨在让读者更深刻地理解“Linux下一切皆文件”。
2024-05-23 17:11:07
1027
原创 【Linux系统】进程控制
本篇博客整理了进程控制有关的创建、退出、等待、替换操作方面的知识,最终附有模拟实现命令行解释器shell来综合运用进程控制的知识,旨在帮助读者更好地理解进程与进程之间的交互,以及对开发有一个初步了解。
2024-05-14 16:59:07
960
1
原创 【Linux系统】进程
本篇博客整理了进程的多方面知识,旨在从进程的概念、管理、属性、创建等方面让读者更加全面系统地理解进程和操作系统的管理设计。
2024-05-11 20:48:41
887
原创 【Linux系统】冯•诺依曼体系结构与操作系统
本篇博客整理了操作系统相关的基础知识,先从硬件之冯•诺依曼体系结构,再结合软件之操作系统,旨在帮助读者理解计算机的软硬件资源,和操作系统的管理软硬件资源的手段。
2024-05-05 18:57:15
901
原创 【Linux入门】基础开发工具
本篇博客整理了Linux(centOS版本)中基础开发工具的用途和用法,旨在透过开发工具的使用,帮助读者更好地理解可执行程序的编写、编译、运行等。
2024-05-03 17:20:16
822
原创 【Linux入门】Linux简史
本篇博客整理了Linux的相关历史,结合少量的Linux指令,旨在让读者进一步认识Linux,对计算机世界有更宽泛的了解。
2024-04-01 20:38:36
903
原创 【C++】智能指针
本篇博客主要整理了RAII思想和智能指针原理,结合对库中四种智能指针的模拟实现,旨在让读者能更深入地理解C++的内存管理方案。
2024-03-23 21:10:54
850
原创 【C++】Unordered_map && Unordered_set
本篇博客unordered_map和unordered_set的特性和常见用法,并搭配对STL源码的模拟实现,旨在更好地帮助读者理解容器的功能。
2024-03-07 21:24:29
1121
原创 【数据结构】哈希
本篇博客梳理了哈希思想和相关数据结构,并搭配对STL源码中线性探测、哈希桶、位图、布隆过滤器的模拟实现,旨在更好地帮助读者理解哈希的功能和适用情景。
2024-03-07 21:23:22
753
原创 【C++】map 和 set
本篇博客梳理了map和set的特性和常见用法,并搭配对STL源码的模拟实现,上层用法与底层实现相结合,旨在更好地向读者呈现C++中面向对象和泛型编程的思想,以及深刻解读STL的组件之一仿函数。
2024-01-29 21:55:41
655
原创 【数据结构】平衡树之红黑树
AVL树解决了二叉搜索树退化为单支树而引发的效率问题,是一种绝对平衡的二叉搜索树,其性质(每个节点的左右子树高度差绝对值都不超过1)使其在对数据进行搜索时始终能保持高效(详见但是,当涉及一些结构上的修改场景(例如增删),因为要频繁通过旋转来维护其绝对平衡的结构特性,代价较高,使得其在这样的场景中性能十分低下。为了继续优化效率问题,后来又不断有大佬提出新的解决方案。1972年,Rudolf Bayer发明了最初红黑树(当时被称为平衡二叉B树)。
2023-11-20 17:26:32
149
原创 【C++】Stack和Queue
本篇博客主要梳理了C++98下 stack 和 queue的基本用法,搭配对其重要功能的模拟实现,旨在更好地帮助读者理解容器 stack 和 queue。
2023-10-23 10:58:57
48
原创 【C++】List
List是一种序列容器,允许在其中的任何位置进行固定时间复杂度的插入、删除操作,以及双向迭代器。它被实现为双链表,可以将它其中包含的每个元素存储在不同且不相关的存储位置。每个元素之间的顺序是通过与每个元素的关联在内部保持的,该关联是指向其前面元素的链接和指向其后面元素的链接。它们与forward_list非常相似:主要区别在于forward_list对象是单链表,因此它们只能向前迭代,以换取更小、更高效。
2023-10-12 16:51:51
37
原创 【C++】Vector
Vector是序列容器,表示可以改变大小的数组,其本质类似于一个动态顺序表。就像数组一样,Vector为其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素,并且与数组中一样高效。但与数组不同的是,它们的大小可以动态变化,其存储由容器自动处理。在内部,Vector使用动态分配的数组来存储其元素。当插入新元素时,可能需要重新分配此数组以增加大小,这意味着分配一个新数组并将所有元素移动到该数组。
2023-10-12 09:34:24
45
原创 【C++】String类
本篇博客主要梳理了C++标准库中string类的用法和常用接口,搭配对string类重要功能的模拟实现,旨在更好地帮助读者理解string类的上层用法和底层实现。
2023-10-07 16:37:21
69
原创 【C++】类和对象
什么是类的类型?什么是具有类的类型的变量?为什么类是用于创建对象的蓝图?类和对象是怎么定义的?对象在内存中是如何存储的?这些问题都将在本篇博客中一一解答。
2023-09-18 09:50:58
186
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人