自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 github操作

如果有冲突,需要逐步解决(`git add` → `git rebase --continue`)。手动编辑文件,解决冲突(删除 `<<<<<<<`、`=======`、`>>>>>>>` 标记)。- 会将你的本地提交“重新播放”在 `origin/main` 之上,提交历史更干净。3. 合并远程 `origin/main` 到本地 `main`方法 2:变基合并(`rebase`,保持提交历史线性)方法 1:普通合并(`merge`,保留完整历史)2. 拉取远程 `main` 分支的最新代码。

2025-04-03 15:56:30 196

原创 设备管理(六)

(物理格式化),将磁盘各个磁道划分扇区的过程。之后再读取物理地址相邻的区域,即(00,001,000)-(00,001,111),由于柱面号/磁道号相同,只是盘面号不同,因此不需要移动磁头臂,只需激活相邻盘面的磁头即可。读取完磁盘块(000,00,111)之后,需要短暂的时间处理,而盘面又在不停地转动,因此当(000,01,000)第一次划过1号盘面的磁头下方时,并不能读取数据,只能再等该扇区再次划过磁头。为什么磁盘的物理地址是(柱面号,盘面号,扇区号),而不是(盘面号,柱面号,扇区号)?

2024-09-06 21:54:47 1020 1

原创 设备管理(五)

缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区。使用硬件作为缓冲区的成本较高容量也较小,一般仅用在对速度要求非常高的场合(如存储器管理中所用的联想寄存器,由于对页表的访问频率极高,因此使用速度很快的联想寄存器来存放页表项的副本)一般情况下,更多的是利用内存作为缓冲区,设备独立性软件的缓冲区管理就是要组织管理好这些缓冲区缓冲区的作用(内存作为缓冲区)——缓和CPU与I/O设备之间速度不匹配的矛盾减少对CPU的中断频率,放宽对CPU中断相应时间的限制。

2024-09-06 16:02:40 1033

原创 设备管理(四)

手工操作阶段:主机直接从I/0设备获得数据,由于设备速度慢,主机速度很快。人机速度矛盾明显,主机要浪费很多时间来等待设备批处理阶段引入了脱机输入/输出技术(用磁带完成):引入脱机技术后,缓解了CPU与慢速I/O设备的速度矛盾。另一方面,即使CPU在忙碌,也可以提前将数据输入到磁带;即使慢速的输出设备正在忙碌,也可以提前将数据输出到磁带脱机就是脱离主机的控制进行的输入/输出操作。

2024-09-06 11:26:16 835

原创 设备管理(三)

P1想给P3发送一个数据包,那么P1先在自己的用户区准备好数据,然后使用write系统调用往套接字中写入数据(设备独立性软件接收到write系统调用好,会把用户进程准备好的数据复制到内核区,也就是套接字所对应的这一片缓冲区中),设备独立性软件调用网络控制器驱动程序把数据输出到网络控制器,这样就可以把数据包发送到网络上。给上层应用程序提供的不同类型的接口是依据设备的特性来定义的。字符设备、块设备、网络设备所调用的系统调用接口是各不相同的,我们要学习字符设备的接口、块设备的接口和网络设备的接口。

2024-09-06 09:29:55 912

原创 设备管理(二)

当用户发出一个I/O请求时,这个i/O请求会从上至下经过各个层次进行处理,最后被扔给I/O硬件来执行实际的I/O操作,执行完后,发出I/O应答,又由这些层次从下往上依次进行处理,最后返回给用户。②通道执行内存中的通道程序,在通道程序中会向通道指明要读入/写出多少数据,读/写的数据在内存中的位置,数据在外存中的位置等信息,这些信息都是通道在执行这个程序的过程中知道的事情。①CPU会向通道发出I/O指令,并指明此次要执行的通道程序(任务清单,通道指令集合)在内存中的位置,指明要操作的I/O设备。

2024-09-05 21:46:10 965

原创 设备管理(一)

CPU通过控制线向I/O控制器发出一个具体的I/O指令,同时通过地址线说明要操纵的设备,如果此时要输出一个数据,CPU会通过数据总线把自己要输出的数据放到I/O控制器的数据寄存器中,然后I/O逻辑可以从数据寄存器中取得CPU要输出的数据。CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。控制器与设备的接口还能实现设备控制,IO逻辑根绝cpu发出的命令,对对应的设备发出一些控制命令,让这些设备执行具体的工作。

2024-09-05 15:10:30 1047

原创 文件管理(五)

vnode中的函数功能指针指向了对应文件系统的函数功能列表,当open打开了一个文件后,后续对文件进行的任何操作都可以先找到这个文件的vnode,然后根据vnode中记录的函数功能指针找到具体对应的这个文件系统的函数功能列表,然后执行具体的函数。下层的这些文件系统对外提供的函数调用接口不统一,那么VFS在调用一个具体文件系统时,函数调用代码也需根据不同的文件系统来进行改变,所以VFS会要求底层的文件系统实现VFS规定的函数接口。逻辑格式化完成了各分区的文件系统初始化,上图也就是文件系统在外存中的结构。

2024-09-04 23:12:11 810

原创 存储器管理(四)

为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把count置为1;之后,当又有其他进程需要调用该共享段时,无需再为该段分配内存,只需在调用进程的段表中,增加一表项,填写该共享段的物理地址;若失败进行第二次扫描,寻找A=0,M=1的页,同时把遇到的A为1的都改为0【没有(0,0)的页,尝试将所有页的访问位改为0,或者说放宽条件,将未访问但修改的换出】;

2024-08-31 17:45:44 909

原创 存储器管理(二)

在分段存储管理方式中,作业地址空间被划分为若干个段,每个段定义了一组逻辑信息,都有自己的名字。在每个进程中,配以局部数据区,将在执行中可能改变的部分,拷贝到该数据区,这样,程序在执行时,只对该数据区(属于该进程私有)中的内容进行修改,而不去改变共享的代码,这时的可共享代码即成为可重入代码【把代码和数据分离】在实现程序和数据的共享时,常常以信息的逻辑单位为基础,而分页系统中的每一页只是存放信息的物理单位,其本身没有完整的意义,因而不便于实现信息的共享,而段却是信息的逻辑单位,有利于信息的共享。

2024-08-31 01:28:20 826

原创 存储器管理(一)

存储器是计算机系统的重要组成部分之一。对存储器加以有效管理,不仅直接影响存储器的利用率,而且对系统性能有重大影响。存储器管理的主要对象是内存,对外存的管理在文件管理中。

2024-08-30 21:52:40 606

原创 处理机调度与死锁(三)

Ⅱ从P0、P2、P3、P4中寻找满足Finish[i]=false,nedd[i]

2024-08-29 17:03:47 769

原创 处理机调度与死锁(一)

cpu管理分为进程管理与cpu调度与死锁这一章重点掌握处理机调度的基本概念和调度算法,掌握银行家算法避免死锁。

2024-08-28 17:44:33 896

原创 进程的描述与控制(三了解)

发送进程在利用发送原语发送消息之前,应先在自己的内存空间设置一发送区 a ,把待发送的消息正文、发送进程标识符、消息长度等信息填入其中,然后调用发送原语,把消息发送给目标 ( 接收 ) 进程。消息传递系统将消息从源端发送到目的端,发送方以格式化的形式发送信息(把要通信的数据封装在信息当中),程序员直接利用系统提供的一组通信命令(原语),来实现进程和进程之间的数据交换进行通信【如:计算机网络,网络报文】进程间通信时,源进程可以直接或间接地将消息传送给目标进程,由此可将进程通信分为直接通信和间接通信。

2024-08-27 19:28:33 946

原创 进程的描述与控制(二)

进程1先访问资源(以打印机资源为例),执行P操作,mutex=1-1=0,mutex不小于0,进程1进入临界区使用资源,此时如果进程2也要使用打印机资源,执行P操作,mutex=0-1=-1,mutex小于0,进程2阻塞挂到L上,进程1执行完打印操作后,执行V操作,mutex=-1+1=0,mutex

2024-08-26 12:39:11 897

原创 进程的描述与控制(一)

进程是程序关于某个数据集合的一次执行过程行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程进程(有时称为任务)是一个程序与其数据一道通过处理机的执行所发生的活动进程是执行中的程序。

2024-08-25 10:17:55 923

原创 操作系统引论

操作系统是一门涉及较多硬件的系统软件课程,既涉及硬件资源管理又设计软件算法。主要掌握操作系统的四大管理功能以下是需要学习所有内容学习时计算机所占角度是单cpu、多任务、cpu具有与外设 并行操作的能力。OS定义:OS是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。

2024-08-20 21:04:31 601

原创 排序3

简单选择排序又称为直接选择排序,是一种最简单的选择排序算法,每次从待排序序列中选择一个最小的放在最前面。堆排序是一种树形选择排序算法,简单选择排序算法每次选择一个关键字最小的记录需要O(n)的时间,而堆排序选择一个关键字最小的记录只需要O(logn)的时间堆可以看作一棵完全二叉树的顺序存储结构,在这棵完全二叉树中,如果每一个结点的值都大于等于左右孩子的值,称为最大堆。如果每一个结点的值都小于等于左右孩子的值,称为最小堆。如下图所示,使用顺序存储一棵最大堆(不是链式存储)

2024-08-19 13:42:23 813

原创 简单排序

直接插入排序是最简单的排序方法,每次将一个待排序的记录,插入到已经排好序的数据序列中,得到一个新的长度增1的有序表。插入到有序序列时,可以用第0个空间暂存这个数据(作为哨兵,免去数组越界的判断),也可以用一个temp变量保存冒泡排序是一种最简单的交换排序算法,通过两两比较关键字,如果逆序就交换,使关键字大的记录像泡泡一样冒出来放在尾部。重复执行若干次冒泡排序,最终得到有序序列。

2024-08-17 23:48:56 709

原创 字符串模式匹配(查找算法)

KMP算法——著名的模式匹配算法。KMP算法的特点是i不回退,如果S[i]=T[j]时,则i++,j++,继续比较;如果S[i]≠T[j],j回退到next[j],重新开始比较。算法关键是计算next[]数组。此例从图中观察可看出T的前两个字符无需比较,那么一般情况怎么确定T的前几个字符不需要比较了呢?i指向字符的前两个字符和T串中j指向字符的前两个字符一样,不一样就不会i++,j++比较当前位置元素了。那么T的前几个字符无需比较可以根据T串确定。继续探究不需要比较几个字符。

2024-08-16 13:38:42 933

原创 二叉搜索树(树表查找)

32>30,从32结点的左子树查找,左子树为空,查找不成功,创建一个新的结点插入为32结点的左节点。二叉查找树删除的特殊情况:p==q,p的左子树的右节点为空,即p的左节点就是p的直接前驱s(左子树的最右结点,不用到最右结点了),那么删除s时,q的左孩子是s的左孩子。第二层:2(1,3)、6(5,7)、 10(9,11)、14(13,15)【num(num-2^1+1,num+2^1-1)】①若二叉查找树为空,创建一个新的结点s,将待插入关键字放入新结点的数据域,s结点作为根结点,左右子树均为空;

2024-08-14 21:49:21 1364

原创 哈希表(查找+分治)

线性表和树表的查找都是通过比较关键字的方法,查找的效率取决于关键字的比较次数。有没有一种查找方法可以不进行关键字比较,直接找到目标?是根据关键字直接进行访问的数据结构。散列表通过将到,建立了关键字和存储地址之间的一种直接映射关系。,又称为哈希函数,是将关键字映射到存储地址的函数,记为hash(key)=Addr。例如,关键字key=(17,24,48,25),散列函数H(key)=key%5,散列函数将关键字映射到存储地址下标,将关键字存储到散列表的对应位置。

2024-08-12 00:11:29 923

原创 拓扑排序

一个无环的有向图称为。有向无环图是描述一个工程、计划、生产、系统等流程的有效工具。一个大工程可分为若干个子工程(活动),活动之间通常有一定的约束,例如先做什么活动,什么活动完成后才可以开始下一个活动。用顶点表示活动,用弧表示活动之间的优先关系的有向图,称为顶点表示活动的网,简称。在AOV网中,若从顶点i到顶点j之间存在一条有向路径,称顶点i是顶点j的,或者称顶点j是顶点i的。若是图中的弧,则称顶点i是顶点j的,顶点j是顶点i的。

2024-08-05 21:20:48 841

原创 哈夫曼编码

当 R=2 时,编码过程分几个步骤,每个步骤中,有两个最低频率的源字符 S 1 、 S 2 ,合并成一个新的“组合字母”,频率为 S 1 、 S 2 的频率之和。(如果一个合并中,每个字母有相同的频率,最早出现的分配 0,出于比较的目的,组合字母的值为合并中最早出现的字母的值。根据算法选择的N 个代码的长度,找所有字符总数的最小值。哈夫曼树对于第 i 层的节点的权重大于等于第 i + 1 层的节点,不然就可以把这两个节点互换,可以得到更优的哈夫曼树,因此,上层叶子节点的权重是下层各节点权重的最大值。

2024-07-09 23:58:51 3659

原创 二叉树遍历

例如,“DBACEGF ABCDEFG”,通过先序遍历知道根节点为D,根据中序遍历可知,左子树中序遍历为ABC,右子树中序遍历为EFG,然后通过先序遍历得到左右子树的先序遍历(BAC、EGF)和根节点D的左右节点(B、E),继续对左右子树(“BAC ABC”、“EGF EFG”)进行上述操作,直至结束。基于先序序列和中序序列的节点数目相同,得到k-il=x-pl,所以x=k-il+pl,那么左子树先序序列[pl+1,k-il+pl];注意:访问根,先序遍历左子树,左子树为空或已遍历才可以遍历右子树。

2024-07-07 16:59:36 1122

原创 项目优化-

提前准备好两台服务器,分别安装Mysql并启动服务成功。我用windows上的mysql作为主库,linux上的mysql作为从库。

2024-02-24 00:00:00 375

原创 套餐管理开发+手机验证码登录

显而易见,套餐管理背后对应的套餐表和菜品表是多对多关系。所以本次学习的本质就是mybatis-Plus的多对多的增删改查。

2024-02-23 00:00:00 902

原创 项目优化-缓存优化

目前系统存在一个问题——如果移动端的用户数量变多,系统访问量就会变大,将频繁访问数据库,那么系统性能会下降,用户体验差。我们通过缓存来提高系统的响应性能,提高用户的体验度。用户点击某个菜单时,服务端先看缓存是否有数据,有则直接返回给页面。缓存产品本质上是内存操作,相对于数据库查询操作访问速度要快上许多。

2024-02-22 00:15:00 1929 1

原创 STL(三)

map中所有元素都是pair。pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)。所有元素都会根据元素的键值自动排序。map/multimap属于关联式容器,底层结构是用二叉树实现。优点:可以根据额key值快速找到value值。map和multimap区别:map不允许容器中有重复的key值,multimap允许有重复的key值。

2024-02-07 21:03:03 853 1

原创 STL(一)

容器嵌套容器可以看作是一个二维数组。

2024-02-07 00:23:45 819 1

原创 链栈+队列

队列是先进先出的线性序列,也是一种线性表,操作受限的线性表,只能在两端操作:从一端进,从另一端出。进的一端被称为队尾(rear),出的一端被称为队头(front)。队列可以顺序存储,也可以链式存储。顺序存储静态定义}sqQueue顺序存储动态定义//使用基地址}sqQueue。

2024-01-30 15:55:13 881 1

原创 顺序表+单链表

int length;}sqList;int *elem;//定义基地址int length;}sqList;int data;

2024-01-27 20:56:05 214

原创 菜品管理开发

服务器端接收客户端页面上传到文件,通常会使用apache的两个组件:commons-fileupload、commons-io(io流,文件的上传下载本质上都是对流进行操作),直接使用这两个api代码比较繁琐。spring框架的spring-web包对文件上传进行了封装,大大简化了服务端代码,我们只需要在Controller的方法中声明一个MultipartFile类型的参数即可接收上传的文件。代码如下,post请求和upload路径都是element-ui规定好的。

2024-01-23 01:00:00 361 1

原创 分类管理功能

前面开发员工管理功能时,在新增员工时需要设置create_time、create_user、update_time、update_user等字段,在编辑员工时设置updata_time、update_user等字段。这些字段属于公共字段,很多表中都有这些字段。我们可以使用Mybatis Plus提供的统一处理这些公共字段(insert或update时为指定字段赋予指定的值),避免了重复代码。1、在实体类的属性上加入@TableField注解,指定自动填充的策略。

2024-01-22 15:41:08 440

原创 员工管理功能

在数据库employee表中,username(唯一约束)和status(默认为1)这两个字段比较特殊。在EmployeeController类中写这段代码。

2024-01-20 01:21:19 340

原创 静态资源映射+登录功能

这个项目是黑马的瑞吉外卖,我打算一边敲代码,一边做点笔记,方便自己之后回顾。

2024-01-19 21:47:40 443 1

原创 Mybatis-Plus

后端

2022-11-04 20:24:10 163

原创 Mybaits1对1查询

学习

2022-10-29 21:54:38 59

原创 MyBatis

学习

2022-10-29 19:57:32 44

原创 Mybatis一对多和多对多查询

学习

2022-10-29 12:50:11 907

一后端作业完整代码mybatis

一后端作业完整代码mybatis

2022-10-29

空空如也

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

TA关注的人

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