自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试手撕-----生产者消费者模型

首先让我们回忆生产者消费者模型,其中生产者生产数据,消费者处理数据,两者通过一个共享的缓存区进行交互。其中涉及到多线程的线程同步问题,要保证当缓冲区满时生产者不会继续添加数据,缓冲区空时消费者不会尝试取数据,同时还要处理线程间的同步问题,避免竞态条件。

2025-04-04 20:28:35 284

原创 面试手撕------智能指针

手撕系列,带你一步步编写面试中常见手撕。同时也欢迎大家在评论区说说自己遇到的手撕要求

2025-04-04 15:24:58 542

原创 进程与线程知识点总结

进程和线程.xmind · hjw_study/fdmyt - 码云 - 开源中国

2025-03-23 16:12:12 134

原创 C++中的socket编程常用接口

socket()函数是进行网络编程的基础,它用于创建一个新的套接字(socket)。套接字是网络通信的端点,可以用于在不同计算机之间传输数据。

2025-03-23 15:28:02 792

原创 Linux中虚拟内存详解

并且,在进程运行过程中,操作系统会根据进程的运行状态和内存需求,动态地调整虚拟地址空间与物理内存之间的映射关系,比如将暂时不使用的页面置换出来,或者将需要的页面重新映射到物理内存中。上面的图可以看出在常见的基于页式内存管理的操作系统(如 Linux)中,进程的各个内存区域包括栈区、代码区、数据区等,通常是按照固定大小(一般为 4KB,不过不同系统可能有差异,也可能采用其他如 8KB 等页大小)划分成一个个的页,然后通过页表来映射到物理内存中同样大小的一个个页框(也是 4KB 等)。

2024-11-16 22:02:43 1360

原创 进程调度算法

如果是抢占式 SRTF,假设 P1 先执行了 2 个单位时间,此时 P2 到达,由于 P2 的剩余时间(3 个单位时间)小于 P1 的剩余时间(3 个单位时间),P2 会抢占 CPU。非抢占式 SJF 是当一个新进程进入就绪队列时,只有当前运行进程结束后,才会比较新进程和就绪队列中其他进程的运行时间,选择最短的运行;总的来说,短作业优先算法适用于存在大量不同执行时长任务的场景,尤其在短任务占比较大且对响应速度要求较高的情况下,能够有效提高系统对这些短任务的处理效率,提升整体性能和用户体验。

2024-11-13 22:19:06 733

原创 C++中volatile限定符详解

volatile是 C 和 C++ 中的一个类型限定符,它用于告诉编译器被修饰的变量具有特殊的属性,编译器在对该变量进行优化时需要特殊对待。以下是volatile。

2024-11-12 13:29:19 397

原创 C++中的提供的四种类型转换方式;

起来学C++了

2024-11-06 21:25:01 951

原创 Linux提供的定时器

定时器在许多场景中非常有用,尤其是在需要精确定时或定时执行某些任务的情况下。而Linux专门为定时器提供了一套定时器接口。

2024-07-24 01:22:49 925

原创 Linux中eventfd的讲解

eventfd。

2024-07-23 00:41:59 1249

原创 C++中的多路转接技术之epoll

就像是一个超级助理,帮你监控所有的订单系统,让你知道什么时候有新订单,什么时候订单完成,什么时候客户取消订单。它只会告诉你有变化的订单,而不是每次都汇报所有的订单状态,这样你就可以专注于处理重要的事情,而不用被不必要的信息干扰。:表示对应的文件描述符可以进行读取操作,或者对端正常关闭了(例如,对于一个 socket,这意味着有数据可以读取,或者对端关闭了连接)。epoll_data是一个联合体,在某些情况下,你可能只需要其中一种东西,当然我们可以看到其中有一个指针参数,这更是加大了灵活性,比如。

2024-07-21 22:50:43 1096 1

原创 C++中的socket编程常用接口

函数用于将一个套接字设置为被动模式,即它将成为一个服务器套接字,可以接受来自客户端的连接请求。函数是进行网络编程的基础,它用于创建一个新的套接字(socket)。对于服务器端套接字,这是必需的步骤,因为它指定了服务器将在其上监听连接请求的地址和端口。它从已完成连接队列中取出下一个连接,并为新的连接创建一个新的套接字。它用于将客户端的套接字连接到服务器的地址和端口。函数通常在客户端使用,它将客户端的套接字连接到指定的服务器地址和端口。函数通常在已经建立连接的套接字上使用,用于从对端接收数据。

2024-07-18 14:28:58 627

原创 正则表达式的详解带你认识正则表达式的意义

​ 我们都知道协议通常通过添加固定的字符、报头、特定的数字等来定义数据的结构和格式。将正确的信息提取出来是十分重要的,而正则表达式可以用来描述和匹配这些固定的结构,从而提取出所需的信息。并且正则表达式还可以处理大量复杂的字符串。这篇文章将会带你彻底了解正则表达式。正则表达式是一种描述字符模式的特殊语法,广泛应用于文本搜索、替换和字符串验证。它可以匹配特定的字符序列,从而识别和处理文本中的特定模式。

2024-06-08 16:01:42 894

原创 Linux基础指令及其作用之压缩与解压

是一个常用的命令组合,用于解压缩由 gzip 压缩的 tarball 文件。是一个用于文件压缩和解压缩的工具。它主要用于减少文件的大小,方便存储和传输。压缩文件中的内容,并支持各种选项来控制解压缩过程,如指定解压目录、仅列出文件、测试文件等。命令的作用是解压缩一个 gzip 压缩的 tar 文件。例如,如果有一个名为。工具不仅能够压缩文件,还能够对压缩文件进行更新和管理。文件解压缩,并提取其中包含的文件和目录。是一个用于压缩文件和目录的工具,创建。工具的解压缩部分,用于解压缩。压缩的文件恢复到原始状态。

2024-05-31 21:52:35 1001

原创 Linux基础指令及其作用之网络操作

命令用于显示与网络相关的各种信息,如网络连接、路由表、接口统计、伪装连接(masquerade connections)等。它是一个强大的网络诊断和调试工具。:fe80::20c:29ff:fe68:8c9d ,前缀长度为 64,作用域为链路本地(Link)。:往返时间的均方根偏差(mean deviation)为 0.156 毫秒,表示往返时间的波动范围。是网络开发和调试的一个强大工具,适用于下载文件、测试 API 等多种任务。:IPv6 地址为 ::1,前缀长度为 128,作用域为主机(Host)。

2024-05-31 21:31:29 1291

原创 Linux基础指令及其作用之系统信息和管理

它的作用是列出一个二进制文件在运行时需要加载的动态链接库,以及这些库的路径。它能够报告文件系统的总空间、已用空间、可用空间和挂载点等信息,是系统管理员监控磁盘使用的重要工具。它能够递归地计算指定文件或目录所占用的磁盘空间,是系统管理员和用户监控磁盘使用的重要工具。命令用于显示系统的内存使用情况,包括物理内存、交换分区和内核缓存的使用情况。命令用于查找指定进程名对应的进程ID,如果有多个进程与该进程名匹配,则会列出所有匹配的进程ID。是一个用于查找指定进程名对应的进程ID(PID)的命令。

2024-05-31 15:22:22 1042

原创 Linux基础指令及其作用之文件内容查看和处理

硬链接是文件系统中的一个指向原始文件 inode 的新路径,它们与原始文件在磁盘上的存储位置相同,因此对硬链接或原始文件的修改都会影响到另一个。符号链接是一个特殊类型的文件,它包含了指向原始文件的路径,而不是原始文件本身。它在需要查看文件末尾部分的内容时非常有用,特别是查看日志文件的最新日志。命令会在指定的文件中搜索匹配模式的行,并将匹配到的行打印到标准输出。命令用于显示文件的开头部分。是一个非常强大的工具,特别适用于从文件或命令输出中查找和过滤特定的信息。的增强版,提供了更多的功能和更灵活的导航选项。

2024-05-31 14:37:15 1041

原创 Linux基础指令及其作用之文件和目录操作

目标文件或目录`:移动到的目标文件或目录的路径。命令还可以用于更改文件的访问时间戳或修改时间戳。是一个常用的命令,用于在 Linux 和类 Unix 系统上创建新目录。是一个用于创建空文件或更改文件时间戳的命令。命令是用于删除文件或符号链接的命令。是一个用于移动文件或重命名文件的命令。:要创建的新目录的名称。touch`:这是用于创建或更改文件时间戳的命令。源文件`:要移动或重命名的文件的路径或名称。:这是用于移动文件或重命名文件的命令。:要创建或更改时间戳的文件的名称。:这是用于复制文件和目录的命令。

2024-05-31 14:34:23 713

原创 #MySQL在C++中的基本`api`讲解

了解C++中的MySQL使用

2024-05-29 11:39:56 762

原创 C中Mysql的基本api接口

C语言使用MYSQL的基本api及其使用介绍和使用建议

2024-05-15 23:09:17 1078 5

原创 C++中lambda表达式的使用及注意事项

在C++中一共有四种可调用对象,分别是**函数,函数指针,仿函数,和lambda表达式,本文将从lambda表达式的定义形式开始,到lambda表达式的使用场景,向你讲述lambda的使用及注意事项。

2024-05-02 11:30:26 982

原创 C++中auto关键字的用法详解

对于c++11后auto的用法详解,包括其在C++14,与C++17中的更新

2024-04-29 21:42:47 1315 2

原创 C/C++关键字详解-----`const`的使用

对于c/c++中const关键字的各种使用场景

2024-03-10 14:17:34 901 5

原创 【c/c++】获取时间

c/c++获取时间的方法

2024-02-16 14:36:17 1127 6

原创 可变参数(c/c++)

详细讲解可变参数

2024-02-16 00:58:40 3186 10

原创 网络套件字(理论知识)

网络套件字的理论知识详解

2024-02-08 16:43:57 2489 8

原创 #pragma once和条件编译

详细解释#pragma once和条件编译的作用和区别

2024-02-06 18:27:23 1004 2

原创 初识网络基础

一些网络知识的基础知识

2024-02-05 20:53:22 1844 2

原创 二叉搜索树的实现

本文旨在讲解如何编写一颗二叉搜索树,包括基本的增删查改的操作。

2023-12-16 20:45:49 1291 9

原创 【C++】多态

带你迅速了解多态的使用和原理

2023-12-15 23:29:40 148 3

原创 【c++】stl_priority_queue优先级队列

快速带你了解优先级对列,掌握stl里面的堆

2023-12-12 17:41:58 368 8

原创 【C++】继承

面向对象编程的重要特性,带你感受继承的魅力

2023-10-25 13:54:26 151 8

原创 【c++】异常

带你彻底了解c++关于异常的知识点

2023-10-20 22:41:31 281 9

原创 【c++_containers】10分钟带你学会list

本文将会从list的特性、模拟实现,与vector的对比带你熟练掌握list的使用

2023-10-06 22:35:35 986 11

原创 [C++_containers]10分钟让你掌握vector

通过基础的C++语法模拟实习vector,并提出其中存在的问题来带你彻底掌握vector的使用

2023-10-01 21:12:06 166 10

原创 【c++_containers】string的模拟实现

带你彻底了解string

2023-09-19 15:47:08 224 10

原创 Linux代码初试__进度条

在我们的日常生活中,进度条是十分常见的,比如在软件下载中,应用加载中等等~~~那么进度条有什么特点?他又如何实现,本文为你进行讲解

2023-09-04 23:29:35 1613 11

原创 【C++】模板

关于模板的详细解读,欢迎各位佬阅读

2023-07-30 23:56:27 1445 12

原创 linux权限

欢迎来到薄荷冰的linux系列下面我们将按照下面的图为大家讲解linux权限相关的知识。

2023-07-29 00:25:20 1266 9

原创 【C++】类与对象(下)

对类初步认识的结尾

2023-06-17 19:16:03 1295 6

空空如也

空空如也

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

TA关注的人

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