- 博客(90)
- 收藏
- 关注
原创 操作系统:进程1
什么是进程,进程的3种状态,如何控制进程,原语是什么,原语如何实现的,调度的基本概念和常见的调度算法,进程拷贝的细节,如何创建一个子进程,僵尸进程,孤儿进程。
2024-07-28 23:00:56
754
原创 操作系统:高级IO
高级IO1.关于IOIO的基本类型:I代表输入(Input):从外部设备或来源(如键盘、鼠标、文件、网络)读取数据到计算机中。 示例:用户键入的文本、从文件读取的数据、从网络接收到的数据包。O代表输出(Output):将计算机处理后的数据发送到外部设备或目的地(如显示器、打印机、文件、网络)。 示例:屏幕上显示的文本、写入文件的数据、发送到网络的消息。2.IO模型①.阻塞IO 在进行IO操作时,当前进程或者线程会被阻塞,直到IO操作完成。
2024-07-28 20:35:20
855
原创 操作系统:文件
而上面介绍符号链接文件的地方中的硬链接,就是通过inode实现的,文件名不同,但是文件中的inode号一样那么指向文件存储的位置就是一样的。Inode通过指针指向文件数据的实际存储位置,帮助文件系统有效管理磁盘空间。文件中的inode是什么?
2024-07-24 22:06:37
869
原创 操作系统:基础知识
操作系统是指控制和管理整个计算机系统的硬件和软件资源。硬件指的就是我们电脑中的东西:CPU,内存条,磁盘,显卡等一些硬件的东西;软件指的就是我们在使用计算时使用的一些应用程序:QQ,网易音乐,游戏等一些软件;操作系统会合理地组织和调度计算机的工作和资源分配。例如在使用计算机打开音乐播放时操作系统会给这个音乐的应用软件分配硬件资源内存,以及外设音响等。那如果打开了多个应用程序那么电脑会合理的去分配这些硬件资源,尽量的使每个应用程序运行起来。那么资源不够了怎么办,那么就会发生卡顿。
2024-07-24 21:39:54
320
原创 算法与数据结构:二分查找与跳跃表
本笔记属于船说系列课程之一,课程链接:哔哩哔哩_bilibili你也可以选择购买『船说系列课程-年度会员』产品『船票』,畅享一年内无限制学习已上线的所有船说系列课程:船票购买入口。
2024-05-16 15:17:30
859
原创 C++笔记:类与对象(三)->多态
a是Animal的引用类行而指向的是c对象,p是Animal的指针类型指向对象c的地址。那么我们认为的结果应该都是调用Cat类型中的run方法,但是结果却是调用的Animal中的run方法那么如何完成我们想要的效果呢,把基类中也就是Animal类中的run()方法变为虚函数,在父类中对应函数前加上virtual关键字,再子类中对应的函数后加上override关键字。这样过后执行整个代码,就可以得到我们想要的效果了。
2024-05-03 17:40:45
762
原创 数据结构与算法笔记:线性建堆
本笔记属于船说系列课程之一,课程链接:哔哩哔哩_bilibili你也可以选择购买『船说系列课程-年度会员』产品『船票』,畅享一年内无限制学习已上线的所有船说系列课程:船票购买入口。
2024-04-22 17:16:38
735
原创 C++笔记:类和对象(二)
会发现结果只调用了一次默认构造,也就是在调用func函数时创建temp进行调用的默认构造,这就就是编译器进行了返回值优化,可以看到对象a的地址和对象的temp的地址一摸一样都没变,说明中间的这些拷贝过程就是浪费资源。那么我在编译时关闭了,返回值优化,再看结果。和我对于代码的分析是一样的。
2024-04-18 14:56:13
282
原创 C++笔记:类和对象(一)->封装
认识类和对象,类中的访问权限,构造函数和析构函数,构造函数的初始化列表,构造函数和析构函数的调用顺序,类方法和类属性,const引用, 类的声明和定义,default和delet关键字,对象和引用,返回值优化
2024-04-16 19:44:34
828
原创 树-广度优先遍历和深度优先遍历
对于广度优先和深度优先遍历,不仅仅是对树的进行遍历,对于它们作用的理解,可以带入到相应的场景进行对它们的使用。t=N7T8t=N7T8哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep66799?船票购买入口https://www.bilibili.com/cheese/pages/packageCourseDetail?
2024-04-15 16:45:38
1083
原创 C++笔记:STL容器库的使用
前置: 对于stl容器库,我只做了一些常用的笔记,关于更详细的使用可以参考:https://cppreference.com/https://cppreference.com/一.string--字符串对于C++中string字符串会比C语言的字符数组使用起来会顺手许多。命名空间:std关于迭代器可以理解为指针,和指针的使用方法差不多,对于迭代器更细的描述会在后续的笔记中更新。代码运用:#include <iostream>#include
2024-04-09 12:54:36
618
原创 Linux如何连接github仓库
其中,username是您的 GitHub 用户名,repository是您要连接的仓库名称,也就是最开始创建的仓库名。
2024-04-01 18:53:14
2004
原创 C语言笔记:预处理命令与结构体
记住这两句话就可以:#的作用:将#后面的内容字符串化##的作用: 将两个内容连接到一起,比如a##b,将a和b连接到一起//这里的宏表示 执行func函数,并且打印func函数名以表func函数执行结束func;//这个宏定义的作用是将a和b进行连接到一起return;return;return 0;源代码截图:待编译源码:可以发现,之前用宏定义的代码全部被替换了。//定义结构体需要用struct关键字int age;} person;
2024-03-25 22:55:02
1245
原创 数据结构——二叉树线索化遍历(前中后序遍历)
二叉树线索化是一种将普通二叉树转换为具有特殊线索(指向前驱和后继节点)的二叉树的过程。这种线索化的目的是为了提高对二叉树的遍历效率,特别是在不使用递归或栈的情况下进行遍历。将二叉树线索化的主要目的是为了提高对二叉树的遍历效率以及节省存储空间。线索化使得在不使用递归或栈的情况下可以更快速地进行遍历,特别是在特定顺序的遍历时,如前序、中序或后序遍历。:线索化后,可以在常量时间内找到节点的前驱和后继节点,从而实现更高效的遍历。这对于需要频繁遍历大型二叉树或需要在树的中间部分执行插入和删除操作时特别有用。
2023-09-07 16:56:44
2781
1
原创 数据结构——堆
物理结构:他的物理结构有,第一个数据域,堆元素的个数,堆存储元素个数的最大值;//堆里现在的元素个数和堆的大小void *data;//数据域。
2023-08-30 13:46:12
784
原创 数据结构——树
二叉树是树的一种树形结构,它的特点就是,一个结点最多只有两个子孩子结点(下文中可能会分为左右孩子),并且左右还在结点不能交换顺序,不能颠倒;typedef struct Node {//结点定义void val;//值域,可以是int,char等等类型//指针域,用来存下一个结点的地址的} Node;typedef struct Node {//结点定义void val;//值域,可以是int,char等等类型//指针域,用来存下一个结点的地址的,分别为左孩子和右孩子} Node;逻辑结构。
2023-08-29 11:35:55
787
原创 数据结构——栈
咱们先不管栈的数据结构什么,先了解栈是什么,栈就像一个桶一样,你先放进去的东西,被后放进的的东西压着,那么就需要把后放进行的东西拿出才能拿出来先放进去的东西,如图1,就像图1中样子:图1翻译后就是先进后出;
2023-08-28 11:53:14
1110
原创 数据结构--队列与循环队列
队列 队列是什么,先联想一下队,排队先来的人排前面先出,后来的人排后面后出;队列的性质也一样,先进队列的数据先出,后进队列的后出;就像图一的样子:图1 如图1,1号元素是最先进的,开始出队时,那么他就是最先出的,然后12进队,就应该排在最后面,等待前面的所有元素出队完成后才能出队;有个专业的名词叫FIFO(first in first out),翻译过来就是先进先出的意思;队列的数据结构: 数据结构 = 结构定义 + 结构操作;
2023-08-27 17:21:42
618
原创 数据结构-链表
那么链表的结构定义是什么?他的物理结构和逻辑结构分别是什么?在学习一个新的数结构之前需要这要问一下自己,这样你的思路会更清晰,也不会混乱;
2023-08-26 16:06:46
2554
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人