自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 在C++中如何实现线程安全的队列

在一次和豆包的模拟面试中,豆包问我:“在C++中,如何实现一个线程安全的队列呢?只读操作是线程安全的:多个线程可以同时调用const 成员函数(如size, empty, at等)读取同一个容器,只要没有线程修改容器写操作需要独占访问:如果至少有一个线程在修改容器(如push_back, earse, operator[]等),其它线程必须通过同步机制,来保护对该容器的访问不同容器实例独立:不同线程操作不同的容器实例。

2025-03-02 22:06:09 873

原创 数据结构:基数排序(c++实现)

基数排序(Radix Sort)是一种非比较型整数排序算法,其基本原理是根据数字的每一位来进行排序。具体来说,基数排序通过将整数按位数切割成不同的数字,然后按每一位数进行排序(不断接近有序的过程),最终得到有序序列。以上就是我总结的C++面试题,TCP和UDP方面(1)

2025-02-23 22:12:49 650

原创 C++面试题,进程和线程方面(1)

这是个人总结进程和线程方面的面试题。如果有错,欢迎佬们前来指导!!!锁是一种用于同步并发访问共享资源的机制,通过限制对共享资源的访问顺序,确保在任意时刻只有一个线程能进入临界区。其本质是内存中的一个整形变量,通过状态(如0表示空闲,1表示锁定)实现资源占用的原子控制。在多线程环境下,锁的作用包括:1. 互斥访问:防止多个线程同时修改空闲数据,导致不可预测的结果2. 数据一致性:确保线程操作空闲资源时的中间状态对其它线程不可见3. 执行顺序控制:通过信号量等机制协调线程的执行流程。

2025-02-21 22:05:59 848

原创 C++面试题,TCP和UDP方面(1)

这是个人总结的C++方向的面试题,TCP和UDP方面,如果那些地方有错误。欢迎前来纠错!!!以上就是我总结的C++面试题,TCP和UDP方面(1)

2025-02-18 23:14:53 1032

原创 redis:主从复制

分布式系统,涉及到一个关键的问题:单点问题。如果某个服务器程序,只有一个节点(只有一个物理服务器,来部署这个服务器程序);可用性问题:如果这个机器挂了,意味着服务就中断了性能/支持的并发量也是比较有限的在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其它服务器,满足故障恢复和负载均衡等需求。redis为我们提供了复制功能,实现了相同数据的多个redis副本,复制功能是高可用redis的基础。主从模式主从 + 哨兵模式集群模式以上就是我的redis学习笔记。

2024-11-17 17:55:39 1430 17

原创 redis:事务

以上就是我的redis学习笔记。

2024-11-13 22:05:35 1065 5

原创 redis:RDB和AOF机制

redis是一个内存数据库,把数据存储在内存中的,而内存中的数据是不持久的,要想能够做到持久,就需要让redis把数据存储到硬盘上。但redis相比于mysql这样的关系型数据库,最明显的特点就是效率高,速度快。这样便导致redis为了保证速度快,数据要存储在内存中,又为了持久化,数据要存储到硬盘中;当要插入一个新的数据时,需要把这个数据,“同时”写入到内存和硬盘;当要查询某个数据时,直接从内存读取;硬盘数据只是在redis重启的时候,用来恢复内存中的数据的。

2024-11-13 09:10:37 1563 14

原创 redis:zset有序集合命令和内部编码

有序集合(zset)是redis提供的一种特殊集合类型,结合了集合(元素不能重复)和有序链表(元素有序)的特性;在有序集合中,每一个元素(member)都关联着一个分数(score),这个分数是双精度浮点数,用于对元素进行排序(按照升序的方式进行排列)。注意:元素不能重复,但分数可以重复;相同分数的元素按照字典序排序有序集合提供了获取指定分数和元素范围查找,计算成员排名等功能。以上就是我的redis学习笔记。

2024-11-08 16:22:26 1238 10

原创 数据结构:跳表实现(C++)

本文使用C++实现跳表的增删查。铁蕾大佬关于跳表的博客以上就是跳表的实现。

2024-11-06 22:30:09 893 3

原创 redis:set集合命令,内部编码,使用场景

ste集合类型是保存多个字符串类型的元素,但和列表类型不同,集合中元素之间是无序的,元素也不允许重复。redis除了支持集合内的增删查改操作,同时支持多个集合取交集,并集,差集。以上就是我的redis学习笔记。

2024-11-05 20:15:03 1272 3

原创 redis:list列表命令和内部编码

列表类型是用来存储多个有序的字符串,列表中的每个字符串称为元素;列表是一种灵活的数据结构,可以充当栈和队列。下图为列表两端插入和弹出操作下图为列表的获取和删除等操作注意:约定最左侧元素下标是0;redis的下标支持负数下标;list 并非是一个简单的数组,而是更接近于双端队列;列表中的元素是有序的,有序表示元素的顺序很重要。相同元素不同顺序是不同的列表列表中的元素是允许重复的以上就是我的redis学习笔记。

2024-11-04 21:34:00 1364 4

原创 redis:Hash哈希命令和内部编码

在redis中,哈希类型是指值本身又是一个键值对结构,如key = “key”, value = {{field1, value1}, …, {fieldn, valuen}},redis键值对和哈希类型二者的关系如下所示:哈希类型中的映射关系通常被称为 field-value,用于区分redis整体的键值对key-value以上就是我是redis学习笔记。

2024-11-03 16:53:16 1102 3

原创 网络:ARP的具体过程和ARP欺骗

本文仅作为ARP具体过程和ARP欺骗的知识总结硬件类型 :指定发送和接受ARP包的硬件类型,如 1 为 以太网协议类型:指定ARP包所携带的网络层协议类型,如 0X0800 为 IPv4协议的数据包硬件地址长度:指定硬件地址的长度,如以太网地址 为 6字节协议地址长度:指定协议地址的长度,如IP地址为4字节操作码(Operation Code):指定ARP包的操作类型,如 1表示ARP请求,2表示ARP应答。

2024-11-02 21:42:13 906 2

原创 redis:简单介绍string的典型使用场景

本文是作为 简单介绍 string的典型使用场景的学习笔记以上就是我是redis学习笔记。

2024-11-02 09:52:46 1327 2

原创 网络:IP分片和组装

对于IP分片和组装的总结当一个IP数据报的大小超过网络的MTU(最大传输单元)限制时,就需要进行分片。MTU是数据链路层对IP层数据包进行封装时所能接受的最大数据报长度。MTU可以通过ifconfig查看IP分片对传输层是透明的,意味着传输层无需关心数据是否被分片以及如何重新组装以上就是IP分片和组装的过程。

2024-11-01 21:33:44 2344 13

原创 redis:String字符串命令和内部编码

本文是作为String字符串命令和内部编码的学习笔记字符串类型是redis最基本的数据类型,redis中所有键的类型都是字符串类型,而且有其它几种数据结构都是在字符串类似基础上构建的(如列表,集合的元素类型都是字符串类型)。redis中的字符串,直接就是按照二进制数据的方式存储的(不会做任何编码转换),不仅仅可以存储文本数据,还可以存储整数,JSON,xml,二进制数据(图片,视频,音频)。

2024-11-01 09:26:35 1392 6

原创 redis:基本全局命令-键管理(1)

本文是作为基本全局命令-键管理的学习笔记redis 是按照键值对的方式存储数据的,redis也支持多种数据结构;整体来说,redis是键值对结构,key固定是字符串,而value会有多种类型(如字符串,哈希表,列表,集合,有序集合等),操作不同的数据结构就会有不同的命令。全局命令,就是能够搭配任意一个数据结构使用的命令以上就是我是redis学习笔记。

2024-10-30 09:03:59 970 1

原创 网络:TCP协议-报头字段

本文是我对于TCP协议-报头字段的知识总结TCP保证可靠性,但又不仅仅保证可靠性,还会进行各种提高效率的设定。以上就是我对于TCP协议的知识总结。

2024-09-24 20:02:03 1684 33

原创 网络:UDP协议

本文是对UDP协议的知识总结以上就是我对于UDP协议的知识总结。

2024-09-20 15:58:31 1085 28

原创 优先级队列:295. 数据流的中位数

本题是我对写题的思路总结295.数据流的中位数以上就是我对于如何使用优先级队列来处理数据流的中位数。

2024-09-05 20:52:23 1124 4

原创 网络:HTTPS的加密

本文是对于https加密的知识总结以上就是我对于HTTPS的知识总结。

2024-05-18 12:35:19 1952 36

原创 linux:生产者消费者模型

本文是对于生产者消费者模型的知识总结以上就是我对于线程同步的总结。

2024-04-01 17:05:59 2584 54

原创 linux:线程同步

本文作为我对于线程同步知识总结以上就是我对于线程同步的总结。

2024-03-28 23:04:11 1718 43

原创 linux:线程互斥

本文是对于线程互斥的知识总结以上就是我对于线程互斥的总结。

2024-03-19 17:03:34 1813 57

原创 linux:线程的控制

本文作为我对于线程的简单总结,线程控制的知识总结创建一个新线程的代价比创建一个新进程小的多与进程之间的切换相比,线程之间的切换需要操作系统做的工作要小线程占有的资源要比进程少很多能充分利用多处理器的可并行数量(并行,多个执行流在同一时刻拿着不同的CPU继续运算,执行代码)在等待慢速I/O操作结束的同时,程序可执行其他的计算任务计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现I/O密集型应用(如下载,上传),为了提高性能,将I/O操作重叠。

2024-03-10 22:33:48 2358 50

原创 Linux:线程的概念

本文是对于线程概念的知识总结以上就是我对于线程概念的理解和知识总结。

2024-03-03 21:22:56 1693 50

原创 Linux:进程概念

本文是对于进程概念的知识总结。以上就是我对于进程概念知识的总结。!!

2023-12-16 21:58:26 3853 53

原创 Linux:gdb的简单使用

gdb是Linux中的调试代码的工具以上就是我对于Linux中gdb使用的总结。!!

2023-12-12 23:04:45 936 30

原创 Linux:vim的简单使用

本文是对Linux中vim使用的总结以上就是我对于Linux中vim使用的总结。!!

2023-12-01 23:12:24 1873 39

原创 Linux:权限

本文是对Linux中文件和目录权限的总结。以上就是我对于Linux中文件和目录权限的总结。!!

2023-11-23 23:01:15 983 49

原创 数据结构:红黑树的插入实现(C++)

以上就是我对于红黑树插入实现的总结。!!

2023-11-19 23:02:18 812 58

原创 Linux:常见指令

本篇博客作为Linux常见指令的总结,主要是方便个人进行回顾使用。以上就是我对于Linux常见指令的总结。!!

2023-11-17 22:28:56 1175 42

原创 数据结构:AVLTree的插入和删除的实现

本篇博客作为AVL树的插入和删除的实现。如果代码实现有问题,还请大佬们指出。以上就是我对于AVLTree插入和删除的理解。!!

2023-11-12 18:57:06 1114 72

原创 C++:多态

本篇文章作为C++:多态的知识总结。多态的概念:在完成某个行为时,不同的对象会产生不同的状态。例如:在手机上买火车票这一行为,如果是学生买票,是打折买票,如果是普通人买票,是全价买票。重载:两个函数在同一作用域,函数名相同,参数不同(参数个数,参数类型,参数顺序)。重定义:对于分别在父类与子类作用域的同名成员函数,如果不构成重写就是重定义重写:对于分别在父类与子类作用域的同名成员函数,如果它们的参数,返回值相同(协变,析构函数列外),且它们被virtual修饰,那么它们就构成重写。

2023-11-03 16:29:26 670 67

原创 C++:继承

本篇博客作为C++:继承的知识总结。继承机制是面向对象程序设计使代码可以复用的最重要的手段,他允许程序员在保持原有类特性的基础上进行拓展,增加功能,这样产生新的类,称为派生类。继承呈现了面向对象程序设计的层次结构,是类设计层次的复用。public:protected:// 名字int _age;// 年龄protected:string id;// 学号在上述示例中,Studend类继承Person类,Studend类被称为派生类/子类,Person类被称为基类/父类。

2023-10-29 16:28:56 828 73

原创 动态规划:918. 环形子数组的最大和

本篇文章仅是作为小白的我的一些理解,,如果有错误的地方,希望大佬们指出。918. 环形子数组的最大和以上就是我对于环形子数组的最大和的理解。!!

2023-10-15 11:40:49 2116 62

原创 二分查找:34. 在排序数组中查找元素的第一个和最后一个位置

本篇文章仅是作为小白的我的一些理解,,如果有错误的地方,希望大佬们指出。34. 在排序数组中查找元素的第一个和最后一个位置以上就是我对于在排序数组中查找元素的第一个和最后一个位置的理解。!!

2023-10-06 22:09:54 1055 74

原创 C++:new 和 delete

本篇博客作为C++:new 和 detele操作符的知识总结class Apublic::_a(a)~A()private:int _a;return 0;注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数new的原理1.调用operator new函数申请空间2.在申请的空间上执行构造函数,完成对象的构造delete的原理1.在空间上执行析构函数,完成对象中资源的清理工作。

2023-09-19 15:25:27 1358 81

原创 C++:初始化列表,static成员,友元,内部类

本篇博客作为C++:初始化列表,static成员,友元,内部类的知识总结。以上就是我对于初始化列表,static成员,友元,内部类,匿名对象的知识总结。!!

2023-09-16 17:01:32 917 59

原创 C++:类的六个默认成员函数

本篇博客作为C++知识总结,我们来认识类的六个默认成员函数。下面我主要以日期类作为示例显示。以上就是我对于类的六个默认成员函数的总结。!!

2023-09-12 17:56:36 1042 65

空空如也

空空如也

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

TA关注的人

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