自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统实验报告-基于线程的编程技术

在java程序中,每个程序都包含了一个执行main()函数的默认主线程,创建的其他线程对象必须是继承Thread类或者实现Runnable接口的类,在类中覆写run()方法来执行想实现的功能。设计线程类MyThread,添加成员变量name为线程的对象名字,实现Runnable接口中的run()方法,若当前线程名为‘线程1’求出两个随机数的最大公约数,线程名为‘线程2’则求出求出两个随机数的最小公倍数,线程名为其他时什么也不做。在实践写代码过程中也遇到许多问题。理解线程的定义和概念,掌握线程的实现方案。

2023-07-09 17:17:33 442

原创 操作系统实验报告-文件操作

这次实验大多数方法已经在Java基本类库中实现,需要我们理解每种操作背后操作系统如何运作,同时还要保证代码的健壮性,例如文件已存在,不存在,权限设置是否成功等作以提示信息。其中文件复制需要考虑到文件和目录,如果是目录,还要考虑到目录内的文件或目录,而刚开始忽略了这一点。通过此次实验,加深了我对操作系文件管理的认识,了解了操作系统中各种文件操作的实现,特别是对文件移动、复制等操作执行的机制有了更深刻的认识。掌握操作系统关于文件管理的各种原理,熟悉常用的文件/文件夹操作,编写程序实现文件/文件夹的常规操作。

2023-07-09 17:11:39 591 1

原创 操作系统实验报告-移动臂调度算法的模拟实现

在实验过程中,也遇到了不少问题,如在电梯调度算法中,没有考虑到判断移动方向的问题,单纯从一个方向移动,通过老师的指点,我添加了移动方向的判断条件,经过调整后,程序更加完整。最短寻道时间优先算法;③电梯调度算法(Elevator):移动臂朝一个方向进行运动,将该方向上的所有请求依次进行服务,当该方向上没有请求时,移动臂就改变方向,然后将改变的方向上的请求依次进行服务,直到该方向上没有请求,然后再改变移动方向。掌握操作系统的设备管理功能,熟悉移动臂调度算法,设计恰当的数据结构和算法,模拟实现移动臂调度算法。

2023-07-09 17:00:00 732

原创 操作系统实验报告-页面置换算法的模拟实现

本实验采用堆栈法的策略,按照页面被访问的时间次序依次将页面排列到堆栈中,因此每次最近被访问的页面总是在栈顶,而栈底的页面就是最近最久未使用的页面。:作业要访问的页面不在主存时,由缺页中断处理程序将所需的页面调入主存,若此时主存没有空闲物理块,则系统将按照一定的页面置换算法选择一些页面移除,以便装入所缺的页面。通过此次实验,加深了我对操作系统存储管理的认识,了解了操作系统中各种资源分配算法的实现,特别是对虚拟存储和页面置换的各个算法有了深刻的理解。访问页面时,页面未存在于主存中,发生缺页中断。

2023-07-08 22:50:22 1957

原创 操作系统实验报告-多线程编程解决进程间同步和互斥问题

在实验过程中,也遇到了不少问题,如在电梯调度算法中,没有考虑到判断移动方向的问题,单纯从一个方向移动,通过老师的指点,我添加了移动方向的判断条件,经过调整后,程序更加完整。最短寻道时间优先算法;③电梯调度算法(Elevator):移动臂朝一个方向进行运动,将该方向上的所有请求依次进行服务,当该方向上没有请求时,移动臂就改变方向,然后将改变的方向上的请求依次进行服务,直到该方向上没有请求,然后再改变移动方向。掌握操作系统的设备管理功能,熟悉移动臂调度算法,设计恰当的数据结构和算法,模拟实现移动臂调度算法。

2021-05-05 21:53:01 9276 1

原创 力扣日记—环形链表 II

环形链表 II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到第二个节点。题解1.双指针

2021-02-04 23:03:39 107 1

原创 力扣日记—两两交换链表中的节点

两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]题解1.迭代方法:链表问题不画图是真做不动啊!总体思路就是循环两两交换两个结点。定义temp结点的作用就是每次操作(循环)中,用temp指向交换到头的结点(第二个结点)。第一个结点(node1)作用是接到之后的链表(下一组的第一个节点),因此每次操作结束都要将temp移动到此处用

2021-01-31 22:56:56 96

原创 力扣日记—三数之和

三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]题解1.双指针方法:受两数和题目影响,我开始直接用暴力三重循环遍历求解,却发现除非利用集合消重否则无论如何都过不了,最终我是放弃了三重循环的方法,学习了一下双指针方法。使用双指

2021-01-25 22:41:56 110

原创 力扣日记—移动零

移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]题解1.双指针方法:分别定义两个索引从0开始,i指向当前已经处理好的序列的尾部,j指向待处理序列的头部。j不断向右移动,每次j指向非零数,则将i,j指针对应的数交换,同时i右移。即用j遍历数组,遇到非零数交换至i,因此非零数被依次换到数组开头部分。时间复杂度 npublic void moveZeroes(int[]

2021-01-24 23:35:40 78

原创 力扣日记—盛最多水的容器

力扣日记—11盛最多水的容器给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值

2021-01-24 19:00:57 80

空空如也

空空如也

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

TA关注的人

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