自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis持久化详解(一):RDB快照机制深度解析

RDB持久化是Redis提供的一种简单高效的数据持久化方案。它通过快照机制在特定时间点保存完整的数据集到磁盘,具有恢复速度快、文件紧凑、对性能影响小等优点。关键要点:三种触发方式:自动配置、SAVE(阻塞)、BGSAVE(非阻塞)核心机制:fork子进程 + 写时复制适用场景:允许少量数据丢失,追求快速恢复注意事项:大数据集时fork可能阻塞,写操作多时可能有内存压力以上就是我分享的C++四大类型转换关键字的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步。

2025-12-21 22:23:26 1277

原创 Redis 基础完全指南:从全局命令到五大数据结构

本文全面介绍Redis的基础知识,包括全局命令和五大数据结构。首先概述Redis作为高性能键值存储系统的特性及应用场景。重点讲解keys、exists、del等全局命令的使用方法及注意事项。详细解析String、Hash、List、Set和ZSet五种数据结构及其常用命令,如set/get(String)、hset/hget(Hash)、lpush/lpop(List)等。最后提供使用建议,包括数据结构选择指南、性能优化技巧和数据安全措施。文章强调实践的重要性,建议读者结合实际项目需求灵活运用这些命令,以充

2025-12-14 11:58:28 812

原创 C++设计原则:构建优雅代码的艺术

单一职责:让每个类专注于一件事开闭原则:通过扩展而非修改来增加功能里氏替换:确保子类可以无缝替换父类接口隔离:定义小而专一的接口依赖倒置:依赖抽象而非具体实现合成复用:优先使用组合而非继承迪米特法则:减少对象间的直接交互编写松耦合、高内聚、易于维护和扩展的代码。以上就是我分享的软件设计原则的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-12-03 21:13:02 814

原创 CMake入门指南:从零开始构建你的第一个程序

CMake 是一个跨平台的构建工具,它通过一份统一的配置文件(CMakeLists.txt)自动生成不同操作系统所需的构建文件(如 Linux 的 Makefile),让开发者只需编写一次配置即可在多种环境下编译程序,极大简化了跨平台项目的构建管理。CMake在各大企业中经常使用,学好CMake不仅可以给我们的简历加分,还可以让我们更容易熟悉企业开发流程。以上就是我分享的CMake初步学习的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步。

2025-11-09 18:08:07 455

原创 第三次面试:C++实习开发

如果需要。

2025-10-21 23:44:55 954

原创 第二次面试:C++qt开发实习生

以上就是我第二次面试的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步,希望大家面试全过,offer多多!!!如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-10-19 21:05:14 800

原创 第一次面试:C++开发实习岗

知识一定要掌握的扎实,面试官问的不会很难,但是会很基础很深入,所以我们对知识的基础一定要多温故而知新,只要这些基础问题都答对了,至少会给面试官留下基础十分扎实的好印象。以及回答面试官的时候,可以先沉默几秒,这个时间是给脑子构思的,构思一个大体框架,回答的时候才有逻辑性,这样回答才好,不要想到什么说什么,然后说一半说不清,让面试官自己理解自己悟会减分的以上就是我第一次面试的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步,希望大家面试全过,offer多多!!!

2025-10-18 11:06:14 1077

原创 HTTP加密版本——“HTTPS”

HTTPS作为HTTP的升级版,通过层层加码的安全设计,最终构建了一个基于信任链的、安全与效率兼备的通信模型,保证了我们安全可靠地通信,不易被黑客窃取相关信息,了解加密层的几大加密方案,可以帮助我们更深入地理解计算机网络,还以及黑客窃取我们信息的一些手段,我们以后做项目就可以参考这些方案来保证我们项目的网络安全。以上就是我分享的HTTPS的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-10-09 18:55:16 1440

原创 应用层协议——HTTP

GET: 向请求的对象获取数据。POST: 向请求的对象提交数据。PUT: 向请求的对象创建或完整替换资源(如果不存在则创建,存在则替换)DELETE: 让请求的对象删除指定的资源。HEAD: 与 GET 相同,但服务器只返回头部,不返回正文。(常用于检查资源是否存在)HTTP作为最常见的应用层协议,其请求/响应报文的每个部分都要熟悉,版本之间的不同点,以及与HTTPS的区别都要理解,掌握好HTTP的相关知识有助于我们更好地理解网络,对我们做工程项目、求职升学都有极大的好处。

2025-10-02 16:00:53 1134 2

原创 超详细TCP协议讲解!!!

TCP是一个为可靠性而生的复杂协议体系。它通过确认与重传实现可靠性,通过滑动窗口实现端到端的流量控制,通过拥塞窗口和四大算法实现网络全局的拥塞控制。所有这些机制,都建立在面向连接(三次握手/四次挥手)和面向字节流的基础之上。掌握好TCP的相关知识有助于我们更好地理解网络,对我们做工程项目、求职都有极大的好处。如果想了解TCP协议的使用,可以参考如下文章TCP协议使用-优快云博客以上就是我分享的网络TCP使用的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步。

2025-10-01 15:58:12 1005

原创 Linux:gdb的使用

在linux纯命令行中,我们通常通过使用gdb调试器来调试一个可运行程序,可以通过调试来找到程序崩溃的原因,可以通过函数栈帧的调用来定位哪个函数的错误,所以说掌握好gdb的使用,对于专业的程序员来讲至关重要。本文就来详细讲述一下gdb的最常见的使用命令(本文通过如下代码进行示例讲解)预备知识:debug版本:一个可运行的程序调试是需要配置一些调试信息(例如变量名、行号信息这些等等)这样方便我们调试可以查看到我们想看到的信息,这中配置了调试信息的就叫做debug版本。

2025-09-27 16:23:24 643

原创 C++:四大智能指针

作为C++程序员,我们是否总new完对象,未delete而导致内存泄露问题,导致程序慢慢变卡直至崩溃。为了解决这个问题,C++11推出了智能指针,将new完的对象管理交给智能指针,它会在该释放的时候会自动帮我们释放资源。//new完忘记delete/*..............程序运行相关代码*/int main()func();return 0;

2025-09-20 17:28:56 879

原创 C++:四大类型转换关键字

这四大类型关键字可以很好地满足C++程序员进行安全地类型转换的需求,要学会在合适的情况下运用正确的类型转换关键字,这样可以保证程序的安全性和可维护性等,下图的表格是对这四大关键字总结,要学会合理使用它们。转换类型主要用途安全性检查时机要求向下转换高运行时检查基类要有虚函数向上转换中等编译时检查类型要相关(基类<->派生类)、整形相关const_cast增移const性质低编译时检查仅仅修改const性质任意类型转换很低编译时检查无。

2025-09-18 08:35:22 1049

原创 C++三大特性之“多态”

同一操作,针对不同的类型,产生不同的结果比如:在日常生活中,我们乘坐火车或者去游乐园的时候,经常需要买票,假如在买票时这个操作时,对儿童的可以免票,对青少年可购买优惠票;对成年人,应当购买全价票。多态是面向对象编程的三大特性之一,允许使用统一的接口处理不同类型的对象,在运行时或编译时确定具体调用的方法,下图的表格是对多态的优劣的总结,要学会合理使用多态。优势劣势代码复用性高性能开销大(虚函数表的跳转)扩展性好内存占用多(一个虚函数指针占4个或8个字节,以及整个虚函数表)维护性强设计复杂。

2025-09-14 18:32:29 596

原创 C++三大特性之“继承”

本文介绍了C++中继承特性的核心概念与应用。主要内容包括:1)继承的基本语法和三种访问权限;2)基类与派生类对象间的赋值转换规则;3)同名成员的重定义问题及解决方法;4)派生类默认成员函数的调用顺序;5)菱形继承问题及其虚拟继承解决方案;6)继承与组合的优缺点比较。文章通过People和Student类的示例,详细讲解了继承机制在代码复用中的作用,建议优先使用组合而非继承,并强调合理使用继承可以构建清晰的类层次结构。最后提供了思维导图帮助复习核心知识点。

2025-09-11 16:58:53 759

原创 C++搜索神器:“搜索二叉树”

如果想从一堆无序的数据中找出一个数时,如果这堆数据存在顺序表或者链表中,要一个一个地从前往后遍历,这样的时间复杂度就是O(N),为了让搜索更有效率、时间复杂度更低,由此诞生了搜索二叉树的数据结构。搜索二叉树的数据存入规则:把小于父节点值的节点放在左子树里,大于父节点值的节点放在右子树中。

2025-08-17 20:11:25 723

原创 C++神器:“引用”

int a=10;int& b=a;b++;b引用a,就可以理解为b是a的外号,b++就等于a++引用的出现,在使用方面简化了程序员的操作,提高了代码的可读性,在实际运行方面,大大减少了拷贝次数,提高了运行效率,所以能使用引用的时候就可以多多益善,对项目工程的实现有很大的优势下图是我做的思维导图,供参考复习以上就是我分享的C++引用的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-08-13 19:54:42 803

原创 C++的“模板”

为了实现泛型编程,增强代码的灵活性,对此C++通过模板来实现,在工程中熟练掌握模板的使用,是非常重要的基本功,本文对C++的模板进行了详细地讲述,方便我们学习并且熟练掌握这个语法模板的使用:模板的格式:在函数头或者类头部加上这个一句即可,可以用 typename或者class是用来定义模板参数关键字模板的出现让C++可以实现泛型编程,通过模板复用代码,节省资源,增强了代码的灵活性。

2025-08-07 21:14:41 720

原创 C:从“源代码”到“可执行程序”

预处理阶段:宏错误、缺失头文件。编译阶段:语法错误(分号缺失、函数缺少返回值等语法问题)、类型不匹配。链接阶段:未定义的函数(例如函数未声明或者函数声明却没定义)。本文就是详细地介绍一下C语言从源代码到可执行程序的生成每个过程充分了解C语言程序从源代码到可执行程序的过程,对开发者进行项目的调试和优化程序有重要意义,并且C语言的编译流程是许多语言(如C++、Rust)的基础,掌握后更容易学习其他语言。还有一个简单的思维导图,方便大家复习巩固。

2025-08-05 20:19:52 260

原创 C语言结构体、位段、枚举、联合体

结构体就是一堆值的集合按照比特位分配空间的特殊结构体常量的集合联合体是成员是共用同一块内存空间的特殊结构体类型学会使用结构体、位段、枚举、联合体,了解他们的特点优势,可以增强项目工程代码的可读性、可维护性,掌握计算这些结构体的方法,恰当地分配结构体内存大小可以增强项目工程的效率,减少内存占用还有一个简单的思维导图,方便大家复习巩固以上就是我分享的C语言特殊类型的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-08-04 22:10:21 710

原创 C/C++常用字符串函数

字符串作为程序中常用的数据类型,学会对字符串进行处理是作为一名C/C++程序员的基本功,我们要学会使用相关函数,并且对重点函数要会自己手动实现(下文对重点函数有实现代码以及相关示例)以上就是我分享的字符串函数的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-08-02 21:08:28 810

原创 TCP协议使用

TCP的使用流程较为复杂,需要进行三次握手四次挥手等一系列复杂的操作(但幸好绝大数由操作系统帮我们完成),其实我们只需要学会使用常用的函数,就可以简单地将数据可靠地传给另一个主机啦。同样的,对于本文涉及的一些函数,大家私下可以多去尝试使用,我这里采用的是Linux的一些函数调用接口,Windows也有相关的函数接口,差别不大,大家都可以私下尝试尝试学习学习UDP协议使用_udp协议操作数据库-优快云博客深入理解UDP协议-优快云博客。

2025-05-10 15:26:24 1047

原创 深入理解UDP协议

以上就是我分享的UDP协议的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2025-04-26 15:54:42 789

原创 UDP协议使用

UDP协议主要是面对数据报的网络协议,属于传输层协议,其特点是不需要连接,传输效率高,但安全性低,不可靠。Udp的使用流程较为简单,不需要像TCP协议那样进行三次握手,只需不断发送和接受数据,不管对方接不接受,发没发送,所以十分高效,但同样也产生了数据易丢失等一些数据传输不安全的问题。所以针对不同场景,要慎重考虑使用UDP协议。

2025-04-20 10:26:24 868

原创 网络前置知识

在Linux中网络接口的使用大多都是系统调用接口,而系统调用接口一般都用C语言实现的(因其接近硬件的特性),而Socket API(如 bind(), connect(), accept())需要支持多种协议,但 C 语言缺乏面向对象的多态机制,所以想用一个通过sockaddr 实现通用参数类型。在主机上的所有进程不仅有进程ID可以标识,还有端口号可以标识,两个设备的网络连接不仅需要知道其IP地址,还要知道端口号,才能通信,对于很多软件服务端的IP地址,端口号都是公开的,方便客户端连接使用。

2025-04-19 10:30:54 941

原创 数据结构—堆

堆就是一种逻辑上是完全二叉树,物理存储是连续的(数据存储在顺序表中),而每一棵子数中,父亲节点都大于(或者小于)子节点的值,根节点大于子节点称为大根堆,小于子节点称为小根堆ps:下图以小根堆为例,逻辑图物理存储图:补充:在堆中,数组下标父亲和孩子有一定的关系可以通过上图22,33,8来举例验证,加深理解。

2024-12-01 21:52:48 518

原创 Linux操作系统基本指令(一)

进入Linux世界的第一步就是要了解感受并会熟练应用Linux系统的命令行指令,在未来学习更深入Linux操作系统有着重要的基础作用。以上就是我分享Linux指令一的内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步。如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的若有错误和不足,欢迎各位读者前来指正祝大家早安午安晚安。

2024-11-11 13:49:27 507

原创 C语言数据结构队列

队列作为一种特殊的线性结构,其特性为:先进先出,后进后出的特点它只允许在表的一端进行插入和删除操作。ps:一些常用词语:队列的插入操作(push)称为进队列,而删除操作(pop)称为出队列。队列作为一种特殊的线性结构十分重要,对于以后解决算法问题十分重要,例如未来学习二叉树的层序遍历等算法题就需要用到(链接放下面,各位可以思考一下),作为基础的数据结构,我们要牢牢把握好其特性,对于未来学习更高级的数据结构有基础作用。102. 二叉树的层序遍历 - 力扣(LeetCode)

2024-11-03 12:51:03 936

原创 C语言数据结构--栈

栈作为一种特殊的线性结构,其特性为:先进后出,后进先出的特点它只允许在表的一端进行插入和删除操作。ps:一些常用词语:栈的插入操作(push)称为进栈或压栈,而删除操作(pop)称为出栈或退栈栈作为一种特殊的线性结构十分重要,对于以后解决算法问题十分重要,例如未来学习二叉树的层序遍历,以及括号匹配等算法题就需要用到(链接放下面,各位可以思考一下),作为基础的数据结构,我们要牢牢把握好其特性,对于未来学习更高级的数据结构有基础作用。ps:20. 有效的括号 - 力扣(LeetCode)

2024-10-26 14:50:14 647 1

原创 C语言数据结构之双向带头循环链表

双向循环带头链表与单向不循环链表相比优点:逻辑容易理解,因为每个节点存入了上一个节点的地址,插入删除非常方便。循环结构让头结点与尾结点建立联系,方便通过头结点找到尾结点。头结点可以根据需求存储一些数据(如链表的长度数据等)。缺点:指针关系比较复杂,需要仔细思考,否则很容易出问题。在本文中,我们需要充分认识到双向带头循环链表的特性,取其长避其短,可以做到在合适的地方用好双向带头循环链表结构实现所需功能,对于我们未来学习更难的数据结构有重要的基础作用。

2024-07-18 13:21:41 741

原创 数据结构之单向不循环链表

链表是一种物理上不连续,逻辑上连续的线性数据结构,可以将数据依次存放在一个又一个节点中,并且前后的两个节点都有一定的关联性。下图是一种链表类型(单向不带头不循环链表)的逻辑图链表逻辑上是连续的,物理存储是不连续的。优点:头插头删效率较高,而且即用即插,需要一个数据就直接在合适的位置插入一个节点,没有很多空间上的浪费,缺点:因为物理存储是不连续的,所以访问效率很低,需要从头开始,才能访问到所要的数据,故不支持随机访问。

2024-07-15 17:53:57 829

原创 C语言数据结构之顺序表

顺序表可以直接访问size以内的任何位置的数据,因有这个优秀的特点,所以尾插尾删,修改查找性能十分高效。但任何的结构都有优点和缺点,因为他的连续物理结构导致他头删头插时需要挪移全部数据,效率十分低,不如链表(逻辑上是连续的,物理存储是不连续的,下一节会讲到),所以我们需要充分认识到顺序表的特性,用好其长处,避掉其短处,对于未来学习数据结构十分重要(相当于打地基)。以上就是我分享的全部内容了,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的。

2024-07-12 11:00:00 910 1

原创 指针初阶知识

以上就是我分享的全部内容了,指针作为C语言中的重点特色,熟练掌握初阶指针知识对后面学习进阶指针、数据结构、C++等等都大有裨益,希望对大家有些帮助,也希望与一样喜欢编程的朋友们共进步如果觉得还阔以的话,三连一下,以后会持续更新的,我会加油的祝大家早安午安晚安。

2024-04-12 23:53:24 590 1

原创 数据在内存中的存储

整形家族:char(一个字节)、short(2个字节)、int(4个字节)、long(4或8个字节)因为字符存储的是ASCII码值是整形double(双精度浮点数)、float(单精度浮点数)数组类型、结构体类型、枚举类型、联合类型。

2024-04-09 23:19:01 957 1

空空如也

空空如也

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

TA关注的人

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