自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高并发内存池技术文档

在高性能服务器开发、大数据处理等场景中,内存分配效率往往成为系统性能的瓶颈。标准库的。

2025-07-02 11:38:59 781

原创 web自动化测试常见函数

本节重点。

2025-06-28 21:19:26 1109

原创 进程地址空间

众所周知,编译完成后的程序是存放在硬盘上的,当运⾏的时候,需要将程序搬到内存当中去运⾏,如果直接使⽤物理地址的话,我们⽆法确定内存现在使⽤到哪⾥了,也就是说拷⻉的实际内存地址每⼀次运⾏都是不确定的,⽐如:第⼀次执⾏a.out时候,内存当中⼀个进程都没有运⾏,所以搬移到内存地址是0x00000000,但是第⼆次的时候,内存已经有10个进程在运⾏了,那执⾏a.out的时候,内存地址就不⼀定了。那既然每⼀个进程都会有⾃⼰独⽴的mm_struct,操作系统肯定是要将这么多进程的mm_struct组织起来的!

2025-06-19 20:32:39 656

原创 linux进程概念

课本概念:程序的⼀个执⾏实例,正在执⾏的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体。(学到线程会理解)当前:进程 = 内核数据结构(task_struct)+ 自己的程序代码和数据。

2025-06-16 22:43:24 799

原创 测试用例篇章

测试用例是为验证系统功能而设计的操作步骤、数据及预期结果的集合,包含测试环境、前提条件等要素。设计测试用例需结合功能、界面、性能、兼容性、安全等维度,常用方法包括等价类划分、边界值分析、正交试验、判定表等。通过编写测试用例可提高测试覆盖率,避免遗漏关键场景,同时支持回归测试。核心设计思想包含正向功能验证和反向异常检测,并强调需覆盖无效输入情况。实际工作中可采用万能公式(功能+界面+性能+兼容+易用+安全)系统化设计用例,辅以场景法梳理业务流程。合理运用这些方法能有效提升测试质量与效率。

2025-05-30 11:24:42 1410 1

原创 测试Bug篇

本节概要:软件测试的生命周期bug的概念buh要素bug等级bug生命周期对于bug的定级与开发发生冲突如何解决。

2025-05-29 15:01:12 1264

原创 测试的概念

测试的概念:验证软件的特性是否满足用户的需求满足用户的需求才能提升用户使用的满意度。开发一个软件产品,产品上线之前为啥需要测试,因为只有产品的质量好,才能给企业带来收益。用户需求:甲⽅提出的需求,没有经过合理的评估往往就是一句话,例如,实现一个软件的登录功能软件需求:或者叫功能需求,该需求会详细描述开发⼈员必须实现的软件功能。软件需求是开发人员和测试⼈员进⾏⼯作的基本依据。

2025-05-29 09:11:38 968

原创 操作系统的基础概念

一、冯诺依曼体系结构学习操作系统的铺垫基础知识,是从语言过渡到系统第一关,先搭一下操作系统方面的预备知识:1、认识冯诺依曼系统2、操作系统概念与定位,理解"管理"通过这两个知识的学习作为一个切入点,破开对系统的认知,对系统进行一定的理解。之前我们学到的只能算是linux操作,不是linux系统,主要是为了解决用,写的问题。现在我们来谈谈真正的操作系统!一、冯诺依曼体系结构我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系。二、

2025-05-20 19:11:10 446

原创 Linux基础开发工具三(git,gdb/cgdb)

不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防⽌⽂档丢失,更改 失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如:“报告-v1”“报告-v2”“报告-v3”“报告-确定版”“报告-最终版”“报告-究极进化版”...每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤。但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越吗?⽂档如此,我们写的项⽬代码,也是存在这个问题的!!

2025-05-19 15:08:39 762

原创 Linux基础开发工具二(gcc/g++,自动化构建makefile)

1. 预处理(进行宏替换/去注释/条件编译/头文件展开等)2. 编译(生成汇编)3. 汇编(生成机器可识别代码)4. 连接(生成可执行文件或库文件)

2025-05-17 11:50:35 875

原创 Linux基础开发工具一(yum/apt ,vim)

Linux下,如何进行软件安装,查找,卸载1.源代码安装2.rpm安装方式,安装包的本质,就是把源代码在Linux下编译好,然后打包(别人把自己编译好的软件打包给你让你去安装)上面这两种安装方式都有一些编译和对应库的问题,因为软件是存在依赖关系的。比如 vim 一个c语言文件需要有对应的 lib64/libc.so.6 C语言标准库。3.yum/apt 工具级别的安装--- 自动解决依赖关系!

2025-05-11 11:39:41 1102 1

原创 二叉平衡搜索树---红黑树

红黑树是一种自平衡二叉查找树,它在1972年由鲁道夫·贝尔发明,是为了克服二叉查找树在最坏情况下的性能问题而设计的。红黑树能够在最坏情况下也保持较为高效的查找、插入和删除操作时间复杂度为O(log n),其中n是树中节点的数量。红黑树和AVL树都是高效的平衡二叉树,增删改查的时间复杂度都是O(log n),红黑树不追求绝对平衡,其只需保证最长路径不超过最短路径的2倍,相对而言,降低了插入和旋转的次数,所以在经常进行增删的结构中性能比AVL树更优,而且红黑树实现比较简单,所以实际运用中红黑树更多。

2025-03-23 00:09:06 1226

原创 平衡二叉树 --- AVL树

前面对map/multimap/set/multiset进行了简单的介绍,这几个容器有个共同点是:其底层都是按照二叉搜索树来实现的,但是二叉搜索树有其自身的缺陷,假如往树中插入的元素有序或者接近有序,二叉搜索树就会退化成单支树,时间复杂度会退化成O(N),因此map、set等关联式容器的底层结构是对二叉树进行了平衡处理,即采用平衡二叉树来实现。二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。

2025-03-22 10:26:54 677

原创 c++---二叉搜索树

二擦搜索树是为了给后面学习STL容器的map/set/multimap/multiset做铺垫,map/set/multimap/multiset系列的关联式容器底层就是平衡⼆叉搜索树—红黑树。

2025-03-01 19:21:45 937

原创 深度理解多态的底层实现

多态的核心:通过虚函数重写和继承来实现运行时动态绑定。通过基类接口屏蔽不同子类的差异,实现一对多的调用逻辑,不同子类通过基类接口调用。关键点:虚函数重写、虚函数表、虚析构函数、final / override关键字。面向对象编程:只关注"做什么"(接口),而不是"怎么做"(具体实现)。提高代码灵活性:新增加子类时,无需修改已有代码,只需扩展新的子类即可(符合"开闭原则")。简化代码逻辑:通过统一的的接口处理多种对象类型,减少条件分支(如if / else或 switch)

2025-02-21 21:54:19 899

原创 c++多态

多态时面向对象编程(OOP)的三大核心特征之一(封装,继承,多态),其核心思想是允许不同对象对同一操作表现出不同的行为。简单来说,多态让程序能够通过统一的接口处理多种不同类型的对象,而无需关心对象的具体类型。多态通常分为编译时多态和运行时多态;编译时多态,比如函数重载和运算符重载;运行时多态,主要依赖于虚函数和继承,这里需要注意的是虚函数表(vtable)的工作原理,以及如何通过基类指针或引用来调用派生类的方法;在虚函数的后面写上 =0 ,则这个函数为纯虚函数。

2025-02-11 19:41:14 776

原创 c++继承详解

继承是面向对象编程的三大特性之一,另外两个是封装和多态。继承允许一个类(派生类)继承另一个类(基类)的成员变量和成员函数,这样可以实现代码复用和层次化设计。继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的函数层次的复用,继承是类设计层次的复用。下面我们看到没有继承之前我们设计了两个类

2025-02-06 21:17:17 1076

原创 c++模板进阶

模板总结【优点】模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2025-01-22 21:02:01 1019

原创 c++模板初阶

/ 类内成员定义public:// 成员函数和数据成员可以使用T类型// ......T data;// 类模版public:_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误,具体原因后面模板分离编译会讲// 扩容++_size;代码复用:大大提高了代码的复用性,减少了重复代码的编写。

2025-01-21 16:51:29 805

原创 日期类的实现(类和对象的应用)

通过日期类的实行可以帮助我们更好的了解掌握之前类和对象学的6个默认成员函数(尤其是赋值运算符重载和普通对象和const对象的理解)

2025-01-06 20:26:23 563

原创 c++类和对象中(收尾篇)

接上文c++类和对象(筑基期)继续介绍赋值运算符重载和取地址运算符重载完善类的6个默认成员函数。

2025-01-06 15:37:45 928

原创 c++类和对象(筑基期)

取地址重载放在下一个章节介绍。

2024-12-29 18:26:10 701

原创 string 的基本用法

string是一个非常常见的数据类型,用于表示文本或字符序列。以下是关于它的详细介绍:string(字符串)是由零个或多个字符组成的有限序列。字符可以是字母、数字、标点符号、空格或其他符号。例如,“Hello”、“123”、“!@#$” 等都是字符串。

2024-12-01 11:23:20 10644

原创 c++ : 类和对象 (炼气一重阶段)

现代软件开发中,面向对象编程(OOP)是一种重要的编程范式,它通过将数据和操作数据的函数封装在一起,来提高代码的可重用性和可维护性。在C++语言中,类和对象是实现面向对象编程的核心概念。类可以被视为一种用户定义的数据类型,它定义了对象的属性(数据成员)和行为(成员函数)。对象则是类的实例,通过对象,我们可以访问和操作类中定义的数据和功能。本文将浅浅探讨C++中的类和对象,包括它们的定义、使用方式以及在实际编程中的应用。掌握类和对象的概念都是提升编程能力的重要一步。

2024-11-14 16:48:09 864

原创 c++入门

创建和使用命名空间• 定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{ }即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。• namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。// 创建一个命名空间//C++标准库都放在⼀个叫std(standard)的命名空间中。//cout和endl是std标准库中定义的,所以需要用域作用限定符展开。

2024-11-10 18:50:15 2095

原创 c++入门 --- 引用

引用在 C++ 中是一个强大的特性,允许通过别名来操作变量,提供了灵活性和性能优势。理解引用的使用和特性是掌握 C++ 的重要部分。

2024-11-10 17:43:26 865

原创 数据结构 : 选择排序

直接选择排序适用于数据量较小的情况,因为其时间复杂度较高,不适合大规模数据的排序堆排序是一种高效的排序算法,适用于大规模数据的排序。但由于其稳定性较差,在某些情况下可能不如其他排序算法(如归并排序或快速排序)方便,但在需要保证最坏情况下性能的场合,它是一个不错的选择。

2024-11-05 18:02:41 458

原创 数据结构 : 排序 - 插入排序

文章内容仅为个人知识理解,仅作参考,如有错误请各位大佬指正。

2024-11-04 11:21:18 836

原创 数据结构 : 单链表

继顺序表之后,由于顺序存储结构的插入和删除操作不方便,所以我们引出了链式存储结构.今天要了解的是链表.链式存储结构的形式有:单链表,双向链表,循环或者不循环链表,带头或者不带头链表等那么单链表相比顺序表有哪些优点呢?请看下图//定义链表结点的结构//结点存放的数据元素//指向下一个结点的指针}SLTNode;例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-10-20 18:15:44 718

原创 数据结构 : 顺序表详解

零个或多个数据元素的有限序列**示例:我们所熟悉的十二星座列表就是线性表,首先线性表是一个序列,其数据元素之间是有顺序的;线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表也分静态顺序表和动态顺序表本篇文章用的数据类型是结构体型#define N10。

2024-10-10 17:29:55 2135

原创 算法的复杂度

时间复杂度:执行次数空间复杂度:栈帧申请的空间

2024-09-28 19:47:01 934 1

空空如也

空空如也

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

TA关注的人

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