自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到阿熊的blog~~

代码仓库(gitee):https://gitee.com/in-september/c-start

  • 博客(89)
  • 收藏
  • 关注

原创 【Linux】进程间关系与守护进程

进程间关系与守护进程。

2024-12-03 17:35:26 731

原创 【计网】自定义序列化反序列化(三) —— 实现网络版计算器【下】

实现网络版计算器【下】

2024-11-30 15:49:12 862 1

原创 【计网】自定义序列化反序列化(二) —— 实现网络版计算器【上】

所以序列化与反序列化问题显得尤为重要,就上一篇所谈论的计算问题进行序列化与反序列化处理。处理两个模块,一个是客户端发来的请求,一个是服务器端处理请求后返回的响应。所以在这里设计两个类 Request 和 Response。我们目的是实现网络版计算器,客户端发送Request,其中包含左操作数,右操作数,以及运算符。服务器端需要对Request进行处理,但是不排除客户端发送的数据是非法运算,所以Response类不仅记录结果,还需要记录运算错误方式。

2024-11-28 16:10:14 812

原创 【计网】自定义协议与序列化(一) —— Socket封装于服务器端改写

文章目录:Tcp协议Socket编程    应用层简介    序列化和反序列化      重新理解read/write/recv/send及tcp的全双工      Socket封装      服务器端改写  我们程序员写的一个个解决我们实际问题,满足我们日常需求的网络程序, 都是在应用层。  不论是Udp Socket编程还是Tcp Socket编程,所传的数据都是字符串类型的的数据,但是如果我们想要传输结构化的数据呢?什么是结构化的数据?其实在我们第一次说计算机网络时就已经提到过,结构化的数据就是

2024-11-26 16:55:24 1181 1

原创 Tcp协议Socket编程

  本次socket编程需要使用到 日志文件,此为具体日志编写过程。以及 线程池,线程池原理比较简单,看注释即可。文章目录:Tcp协议Socket编程    TCP Socket API简介    构建Tcp_echo_server      TcpServer服务器端      服务器循环控制      Service服务      Tcp客户端      Version 0:单进程服务      Version 1: 多进程服务      Version 2: 多线程服务      Ve

2024-11-21 17:42:55 922 1

原创 Udp协议Socket编程

Udp协议Socket编程。

2024-11-16 19:06:08 899 1

原创 日志代码编写

日志代码编写。

2024-11-01 18:19:45 838 3

原创 初识计算机网络

关于协议的朴素理解。

2024-10-30 18:41:26 780

原创 线程安全及其他理论

线程安全及其他理论。

2024-10-26 15:51:57 998 1

原创 特殊类设计与设计模式

文章目录:特殊类设计与设计模式    特殊类设计      设计一个只能在堆上创建对象的类      设计一个只能在栈上创建对象的类      请设计一个不能被拷贝的类      请设计一个不能被继承的类    设计模式      饿汉模式      懒汉模式  如果只能在堆上创建对象,也就意味着在创建对象的时候必须使用new来创建对象,那么我们就需要:  除了将构造函数私有以外,我们知道,如果没有实现拷贝构造与赋值重载,类会默认生成,并且都是以值拷贝的方式对另一个变量初始化、赋值,所以为了避

2024-10-22 10:17:54 1180

原创 C++智能指针

如果这两条语句只有任何一条语句执行,都不会报错,就如上图,当n1指向n2时,n2的引用计数++, 假设n2生命周期先到,那么n2 先析构,引用计数-1,然后n1的生命周期结束,n1调用自己的析构函数,引用计数减为零,清理n1资源,而n1的_next指向n2, 所以同时会调用n2的析构函数,那么n2引用计数也减为零,n2清理资源。如果是上图中的代码,那么都会有一次赋值操作,又因为赋值时自己的引用计数本身就是1,所以不会被减去,而对方的引用计数又会增加,所以他们的引用计数都是2。

2024-10-17 21:00:13 956

原创 C++异常

文章目录:生产与消费者模型  C++异常    异常概念      C语言传统的错误处理方式      C++异常    异常的使用与安全      异常使用      异常规范与开发常用异常体系      异常安全    C++标准库的异常体系    异常的优缺点      异常优点      异常缺点  异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。  如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catc

2024-10-14 20:12:14 921 1

原创 生产与消费者模型

生产与消费者模型。

2024-10-10 16:48:47 1097 2

原创 Linux线程同步与互斥

上图中,线程1因为某些原因需要线程切换,进入等待队列。那么此时线程1需要把自己的上下文数据带走,其实就是把寄存器当中保存的值带走,并且没有对内存交换的0进行写回,也就是说此时内存中的mutex是0,那么线程2在交换mutex到寄存器当中,就会进行状态检测,此时检测到状态为0,说明当前已经有人占用锁了,则线程2进入到挂起状态,后来的线程依旧会如此,直到第一个线程执行完毕将锁释放。大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。

2024-09-22 17:52:28 699 4

原创 Linux线程基础

🌎 Linux线程文章目录:Linux线程    线程概念      线程的理解    再谈地址空间    线程控制      线程等待      线程资源共享      线程退出      线程异常      线程分离      理解线程tid    线程切换    线程优缺点    Linux线程 vs 进程      资源共享      线程私有    线程传参及返回    C++11多线程🚀线程概念在一个程序里的 一个执行路线就叫做线程(thread)。

2024-09-19 20:28:22 1154 1

原创 【C++】map和set的使用

map和set的使用。

2024-08-09 21:32:36 788 4

原创 Linux进程信号详解【下】

文章目录:Linux信号详解    核心转储    信号保存      信号的三种状态      信号集操作函数        sigset_t类型接口        sigprocmask接口        sigpending接口        使用场景及理解    信号处理      信号处理时间      信号处理流程      捕捉信号的其他方式    可重入函数    volatile关键字    SIGCHLD信号  在进程等待这一章节,有一张图我没有详细解释:  当时在

2024-07-26 15:27:17 1360 87

原创 Linux之进程信号详解【上】

所以产生信号不论是系统调用还是软件条件,亦或者是键盘、异常产生的信号,都是由操作系统同一发送的,因为OS作为软硬件资源的管理者,当进程出现异常时,需要对进程做相应的处理,这也就是为什么我们在windows下运行一些带有错误的程序时,进程会直接终止。

2024-06-09 12:09:59 2333 105

原创 【MySQL】表的基本操作

在数据库中,数据表是存储和组织数据的基本单位,对于数据表的操作是每个程序员需要烂熟于心的技巧。

2024-06-05 18:52:02 2072 75

原创 进程间通信(27000字超详解)

而key值站在内核的角度是。

2024-06-01 18:42:11 2128 113

原创 【MySQL】库的基础操作

本文简单说明了数据库的增删查改基本SQL语句及其选项。数据库编码集和校验集要一一对应,不同的编码集对一些特定的文字或符号有不同的识别方式,不同的校验集对一些数据操作的结果可能不同。为了保证数据安全问题,保证容灾性,所以有必要对重要的数据库进行备份,备份与恢复的语句也在本文介绍。数据库安全是要放在首位的,保证数据安全就要定期检测数据库连接的情况。本文到此结束,如果本文能帮到您的话还望三连支持啊~~

2024-05-26 22:56:46 3144 87

原创 与MySQL的初相遇

MySQL是地表最受欢迎开源的数据库管理系统之一,也作为程序员水平的技术之一。今天我们就开始全新的话题!

2024-05-23 07:00:00 2147 71

原创 深入浅出动静态库

当你在Linux系统上编写和运行程序时,动态库和静态库是两个非常重要的概念。它们不仅影响着程序的编译和执行效率,还直接关系到程序的可移植性和灵活性。

2024-05-18 23:23:30 977 93

原创 Linux文件系统详解

文件系统作为Linux重要组成部分,本文我们就针对Ext2文件系统进行详细解读,了解该系统如何将文件管理的井井有条。

2024-05-16 06:30:00 1124 22

原创 Linux-基础IO

在刚开始学习Linux的时候,我们记住了Linux下一切皆文件,我们通过这篇文章来深入了解Linux下文件的构成及应用。

2024-05-14 10:15:41 1966 78

原创 极简shell制作

通过我们之前所学Linux知识以及C语言的知识,到目前为止,我们完全可以独立完成简易shell的制作,那么话不多说,开始今天的话题!

2024-04-28 11:17:27 2081 112

原创 Linux-程序替换

在Linux系统中,进程程序替换是一种重要的操作,通过进程程序替换,程序可以更新自己的代码和数据,让进程富有动态性和灵活性,话不多说,开始今天的话题。

2024-04-26 12:27:36 815 1

原创 Linux-进程控制

进程控制不仅仅是管理程序的执行顺序,还涉及到资源的分配等问题,那么话不多说,开始我们今天的话题!

2024-04-22 11:06:07 1066 3

原创 Linux-进程控制

进程控制涉及到操作系统如何管理和控制运行在计算机系统中的各个进程。那么话不多说,开启我们今天的话题!

2024-03-29 18:40:00 1883 108

原创 进程地址空间

进程地址空间是操作系统提供给每个应用程序或进程的一块独立的内存空间,它决定了进程能够访问的内存范围以及内存布局。话不多说,开启我们今天的话题!

2024-03-22 23:49:16 1144 91

原创 Linux环境变量【终】

上次我们简单了解了一下环境变量这个概念,今天我们继续深入了解。话不多说,开启我们今天的话题!

2024-03-19 23:51:55 2009 44

原创 Linux初识环境变量

环境变量是一种非常重要的概念,它们对于系统的行为和应用程序的运行起着关键作用。那么话不多说,开启我们今天的话题!

2024-03-19 00:27:50 1181 20

原创 Linux下进程的调度与切换

在Linux操作系统中,进程的调度与切换是操作系统核心功能之一,它直接影响着系统的性能和响应速度。那么话不多说,开启我们今天的话题!

2024-03-17 22:53:52 2373 89

原创 【Linux】进程优先级

并发与并行不同,我们大部分人的电脑其实只有一个CPU,而进程通常会有多个,为了考虑资源分配等问题,每个进程都有自己的时间片,时间片用完就切换下一个进程,自己则重新排队,等待再次调度。在日常生活中,我们有很多排队的场景,公路上等红灯,在医院挂号,或者是在食堂吃饭等等,但是我们在公路上救护车可以无视红灯,医院里急诊病人可以优先挂号,以及食堂里老师肆意的插队…如果我们食堂的窗口远大于人数,如果我们自习室里的座位非常多,人却非常少,我们是不需要排队的,也就是说,当资源充足的时候,我们并不需要排队。

2024-03-16 18:01:42 2055 72

原创 【Linux】进程状态

在Linux操作系统中,进程状态是一个重要而又复杂的话题。了解进程状态可以帮助我们更好地理解操作系统的运行机制。那么话不多说,开启我们今天的话题。

2024-03-14 17:45:33 2193 53

原创 初识进程状态

为了搞明白正在运行的进程是什么意思,我们有必要了解进程的不同状态,那么话不多说,开始我们今天的话题!

2024-03-13 11:12:26 1049 70

原创 初识Linux下进程

上回我们简单介绍了一下进程的概念以及让大家见到了运行中的进程,今天我们来了解更多进程相关知识,话不多说,开启我们今天的话题!

2024-03-11 00:40:34 1615 100

原创 LeetCode-1004. 最大连续1的个数 III

这题是一个很经典的滑动窗口的问题,结合我们之前做的滑动窗口的问题来看,滑动窗口出现的场景通常需要枚举数组所有情况,也就是暴力,然后我们在暴力的基础上进行优化。

2024-03-10 00:01:03 1241 6

原创 合并有序链&&反转链表(递归版)

递归逻辑三步走,首先看时候能拆分成重复子问题,再看如何执行递归,最后别忘记结束递归的边界条件!虽然题目很简单,但是以递归的方式解决还是可以很好的锻炼我们的递归逻辑思维的,总得要一步一个脚印,慢慢的啃下这块硬骨头。

2024-03-06 12:33:08 1029 10

原创 每日一题:LeetCode-LCR 007. 三数之和

💪💪当然切记不可😈走火入魔😈,每日打怪,拾取经验,终能成圣🙏🙏!我们还可以在暴力的基础上使用双指针解法,我们首先定住一个值,然后使用双指针来标记另外两个值,定住的值不动,双指针遍历剩下的数组元素,找出所有正确的三元组,尾插进二维数组里,数组遍历完,定值再向右遍历,双指针重置。【1】当固定值不变的时候,左指针的的下一个位置的值和上一个位置的值相等,再次进行比较,就是一个新的三元组,但是这个三元组的值和上一个三元组的值就重复了,不仅左指针如此,右指针也是如此,所以需要将左右指针指向和上一个值不同的值。

2024-01-12 12:51:40 2069 26

空空如也

空空如也

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

TA关注的人

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