- 博客(59)
- 收藏
- 关注
原创 Linux常用命令汇总及练习(1)
本文总结了Linux常用命令操作,包括文件/目录管理和权限设置。文件操作涉及创建(touch/mkdir)、查看(ls/cat)、移动(mv/cp)、删除(rm)等命令;权限管理重点介绍chmod的数字/字符模式修改方法。同时介绍了6种创建文件的方式,从简单的touch到复杂的vim编辑器,并讲解了网络诊断(ping/netstat)和进程监控(top/ps)命令。这些基础命令是Linux系统管理的核心技能,适合日常运维和开发工作参考。
2025-11-04 11:28:21
1111
原创 Redis|| 为什么有了MySQL还需要Redis?
Redis是一个高性能键值存储数据库,支持内存存储和持久化,常用于缓存、会话管理、实时计数等场景。它比MySQL读写更快,并提供丰富的数据结构(如集合、有序集合)。Redis常与MySQL、Web框架结合使用,适用于电商缓存、社交点赞等高频读写场景。Python通过redis-py库操作Redis,支持字符串、哈希、列表等数据结构操作,可使用连接池提升性能。示例代码展示了基本操作和连接池使用方式。
2025-09-23 12:18:30
387
原创 操作系统|| 虚拟内存页置换算法
先进先出算法(FIFO):缺页中断发生时,系统选择在内存中驻留时间最长的页面淘汰。通常采用链表记录进入物理内存中的逻辑页面,链首时间最长。该算法实现简单,但性能较差,调出的页面可能是经常访问的页面,而且进程分配物理页面数增加时,缺页并不一定减少(Belady 现象)。最近最久未使用算法(LRU):算法思想是缺页发生时,选择最长时间没有被引用的页面进行置换,如某些页面长时间未被访问,则它们在将来还可能会长时间不会访问。该算法的开销较大。
2025-05-16 20:39:45
688
原创 如何实现一个运动会计分系统?(C语言版)
本文设计了一个运动会计分系统,旨在管理运动会中的计分信息,包括学校、项目、性别、名次等数据。系统具备数据录入、存储、读写、插入、删除、查询、统计、排序和报表生成等功能。数据以结构体数组形式组织,采用二进制方式存储,通过C语言的文件操作函数实现数据的读写。系统通过多个函数模块实现具体功能,如input()用于数据录入,sortput()用于数据排序,delete1()用于数据删除等。用户可以通过菜单选择不同功能,系统能够根据用户需求进行数据处理和输出。整体设计结构清晰,功能全面,能够有效管理运动会中的计分信息
2025-05-14 20:56:03
2098
原创 操作系统|| 进程死锁与预防的银行家算法模拟
本文介绍了在Java环境下实现银行家算法以预防进程死锁的模拟过程。银行家算法通过动态资源分配和安全性检查来避免死锁。文章详细描述了算法的关键步骤,包括资源请求、分配和释放的逻辑,以及如何通过安全性算法确保系统状态的安全。此外,文章还提供了Java代码的实现,展示了如何通过接口和类来模拟银行家算法的核心功能,包括添加客户、请求资源、释放资源和检查系统状态。通过该模拟程序,可以更好地理解银行家算法的工作原理及其在避免死锁中的应用。
2025-05-13 16:39:53
1070
原创 微机原理|| 流水灯实验
本文旨在通过编程和调试并行接口8255,深入掌握Proteus仿真软件的使用,以及8255的基本编程和调试技巧。实验设备包括Proteus 8 Professional、DOSBox 0.74、masm 5、EditPlus 5.2和一台PC机。实验内容是通过8255的A口控制8个指示灯,实现循环点亮的效果。实验步骤包括建立工程文件、绘制原理图、编写源代码并观察实验结果。实验还提供了程序流程图和源代码,展示了如何通过编程控制硬件接口。实验结果探讨了如何改变LED的闪亮顺序和时间间隔,提出了通过循环右移、
2025-05-13 16:18:03
1030
原创 计算机网络|| 网络服务配置
通过在Windows平台上配置Web和FTP服务器,加深对这些服务工作原理的理解。实验环境包括一台运行Windows操作系统的笔记本电脑,配备以太网卡并连接至无线局域网。实验步骤包括下载并安装必要的服务器软件和客户端工具,配置Web和FTP服务器,并通过浏览器、命令行和客户端工具进行测试。此外,还进行了用户管理,创建了简单的网页和网站,并通过FTP协议将网站上传至Web服务器。实验结果显示,Web和FTP服务器均成功配置并运行。
2025-05-13 09:21:36
1080
原创 计算机网络|| 路由器和交换机的配置
1. 了解路由器和交换机的工作模式和使用方法;2. 熟悉 Cisco 网络设备的基本配置命令;3. 掌握 Cisco 路由器的基本配置方式及配置命令;4. 掌握路由器和交换机的基本配置与管理方法。1. 运行 Windows 操作系统的Laptop 机一台;2. Laptop上安装的网络实验模拟软件 Cisco Packet Tracer。1.首先启动 Cisco Packet Tracer,设计下面图片所示的一个网络拓扑,连接如下图所示,网络中有两台路由器、两台交换机和 4台 PC 机,PC0 和 PC1
2025-05-12 09:41:56
1449
原创 计算机网络|| 网络协议分析
本文利用Wireshark网络协议分析软件,在Windows操作系统下进行了网络数据包的捕获与分析。实验主要分为两个部分:ICMP协议分析和HTTP协议分析。通过安装并启动Wireshark,成功捕获了Ping命令和HTTP请求的数据包,并对这些数据包进行了详细的协议分析。在ICMP协议分析中,实验探讨了Ping命令在不同网络层次(应用层、传输层、网络层、数据链路层)所使用的协议及其字段含义。在HTTP协议分析中,实验详细解析了HTTP数据包的结构,包括各层的协议(应用层:HTTP;传输层:TCP;网络
2025-05-12 09:41:20
1111
原创 数字信号处理|| 用窗函数法设计FIR数字滤波器
本实验旨在通过MATLAB编程,深入理解窗函数法设计FIR数字滤波器的基本原理,并掌握相关MATLAB子函数的使用。实验内容包括学习多种窗函数(如矩形窗、汉宁窗、哈明窗等)的特性及其在滤波器设计中的应用,以及使用fir1函数设计低通、高通、带通和带阻滤波器。通过编写和运行MATLAB程序,实验者能够观察不同窗函数的特性曲线,并设计出满足特定技术指标的FIR滤波器。实验结果表明,窗函数的选择对滤波器的性能有显著影响,通过调整窗函数类型和参数,可以有效优化滤波器的频率响应。实验不仅加深了对FIR滤波器设计理论的
2025-05-11 10:20:35
1348
原创 计算机网络|| 常用网络命令的作用及工作原理
文章摘要: 本文详细介绍了多种网络命令及其工作原理,包括hostname、ping、ipconfig/all、nslookup、nbtstat、netstat、arp、tracert、pathping、routeprint、netshare、netuser、netuse和netsession。这些命令在网络管理中扮演着重要角色,用于显示计算机的主机名、检测网络连通性、获取网络配置信息、查询DNS服务器、显示NetBIOS信息、监控网络连接和统计、追踪数据包路径、管理路由表、控制共享资源和用户账户等。此外,文
2025-05-11 10:17:21
1199
原创 数字信号处理|| 快速傅里叶变换(FFT)
本次实验旨在加深对快速傅里叶变换(FFT)理论的理解,并掌握使用MATLAB进行FFT和逆FFT(IFFT)的方法。实验通过MATLAB的fft和ifft函数,对有限长序列信号进行频谱分析,展示了时域信号及其DFT、IDFT的图形。实验过程中,通过编写和运行MATLAB程序,成功实现了对信号的快速傅里叶变换和逆变换,并观察了变换结果,从而加深了对信号频域特性分析技术的理解。实验结果表明,FFT是一种高效的频谱分析方法,能够显著减少计算时间和内存占用,适用于处理长序列信号。通过本次实验,我不仅掌握了MATLA
2025-05-10 15:03:48
1459
原创 数字信号处理|| 离散系统的冲激响应和阶跃响应
对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位脉冲序列或单位阶跃序列,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号加于系统的零状态响应。反之,知道了系统函数H(z),对其进行z逆变换,即可求得系统的冲激响应h(n)。,y(-N)]说明:以上子函数中的b和a,分别表示系统函数H(z)中由对应的分子项和分母项系数所构成的数组。对于由矢量a、b定义的数字系统,当输入信号为x时,对x中的数据进行滤波,结果放于y中,长度取max(na,nb)。在后面的实验中不再说明。
2025-05-10 14:30:00
1290
原创 数字信号处理|| 离散序列的基本运算
本次实验旨在深入理解离散时间序列的时域运算,并通过MATLAB编程实现相关操作。实验内容包括序列的移位、相加、反折、倒相及尺度变换等基本运算。通过使用MATLAB中的find和fliplr等函数,编写并运行了多个程序,成功实现了对离散序列的各种操作,并观察了运算结果的变化。实验过程中,复习了离散时间序列的理论知识,掌握了MATLAB中离散序列运算的编程方法,并通过绘制图形直观地理解了序列运算的性质。实验结果表明,MATLAB能够有效地进行离散序列的时域运算,为后续的信号处理研究提供了基础。
2025-05-09 16:19:56
1277
原创 数字信号处理|| 时域离散信号的产生
本次实验旨在通过MATLAB软件了解并生成常用的时域离散信号,包括单位抽样序列、单位阶跃序列、实指数序列、复指数序列、正弦序列、锯齿波序列、矩形波序列和随机序列等。实验过程中,我们学习了如何使用MATLAB的axis、length、real、imag、sawtooth、square和rand等子函数来操作和生成这些信号。通过编写和运行MATLAB程序,我们不仅掌握了生成这些信号的方法,还观察到了信号参数变化对波形的影响。实验加深了对时域离散信号特性的理解,并提高了使用MATLAB进行信号处理的能力。实验心得
2025-05-09 16:03:43
1309
原创 单片机原理及应用|| 数码管的显示
按下开关K1,七段数码管显示按下的次数(1~9次),当第10次按下时,模拟向INT0输入一次中断,在INT0的中断服务程序INT0PROG中,使用JMP @A+DPTR指令跳转到子程序SUBPROG4执行,在子程序SUBPROG4中,初始化定时器T1的工作方式为2,且工作在计数模式,同时设置相应的计数初值和定时器中断配置,当按下开关K2,使T1计数值自增一次,当T1计数到3*N次时,发生定时器T1中断,在T1中断服务程序T1PROG中,使七段数码管显示字符’S’,显示至少1s后,熄灭。
2025-04-28 09:15:00
780
原创 可视化程序设计|| 实验八:C#数据库应用
4. 在SelfDetail_Click事件中,创建一个新的SelfDetail窗体,连接数据库并查询学生信息,将查询结果绑定到SelfDetail窗体中的控件上,并显示窗体。为【例9.3】添加一项新的功能,如图T9.1所示,单击“个人明细”按钮,弹出一个简单的个人信息浏览界面,如图T9.2所示,它支持向前和向后翻页显示每一个学生的信息。3. 在button1_Click事件中,获取用户输入的学生信息,并使用SQLCommand对象执行插入操作将学生信息插入到数据库中的XSB表中。
2025-04-27 09:41:02
830
原创 可视化程序设计|| 实验七:C#线程技术
然后,我为它们的数组赋值,并分别创建了两个新的线程sortThread1和sortThread2来执行插入排序和冒泡排序,接下来,在Main方法中创建了一个新的SelectionSorter对象sorter3,并为其数组赋值,接着创建了一个新的线程sortThread3来执行选择排序。每次将一个待排序的记录,按其关键字大小,插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。而冒泡排序则是通过比较相邻的记录,将较大的记录往后移动,每次扫描都会使一个最大的记录“浮”到数组的末尾。
2025-04-27 09:30:00
940
原创 可视化程序设计|| 实验六:C#高级特性
在FruitBasket类中实现IEnumerable接口,并在GetEnumerator方法中返回一个FruitBasketEnumerator对象,该对象实现了IEnumerator接口。1、答:在当前程序中,当装入水果超出10个时,会在控制台输出"超出水果蓝容量!IEnumerable接口定义了一个方法GetEnumerator,返回一个实现了IEnumerator接口的对象,用于遍历集合中的元素。为了解决这个问题,可以修改Add方法中的判断条件,当超出容量时,不再添加水果到篮子中,或者抛出异常。
2025-04-26 14:30:00
685
原创 可视化程序设计|| 实验五:Window应用程序开发基础(二)
了解到标签控件可以用于显示文本或图像,文本框控件允许用户输入或编辑文本,列表框控件可以显示多个项并允许用户选择其中一个或多个项,组合框控件可以显示一个下拉列表,允许用户从预定义的选项中选择一个。实验,我成功创建了一个简单的 Windows 应用程序,该应用程序包含一个窗体、标签控件、文本框控件、列表框控件、组合框控件和按钮控件等控件。在本次实验中,我重点学习了标签控件、文本框控件、列表框控件和组合框控件等窗体控件的使用。【实验4-3】标签控件、文本框控件、列表框控件和组合框控件等窗体控件练习。
2025-04-26 09:35:27
542
原创 可视化程序设计|| 实验四:Window应用程序开发基础(一)
在实验过程中,我对控件的使用方法有了更深入的了解,掌握了如何通过代码操作控件以及处理控件事件。在实验中发现修改GroupBox控件的删除并不会影响实际的效果,而在后面添加确定按钮之后,编写了代码来遍历 所喜欢颜色中的所有复选框控件。在循环中,检查每个复选框是否被选中,并将选中的颜色添加到字符串变量 selectedColors 中,再将字符串变量赋值给文本框 YourColor 的 Text 属性,以显示选中的颜色。1、删除两个GroupBox控件,要求保持原来的功能,修改程序,编译运行,观察运行结果。
2025-04-26 09:15:00
1038
原创 可视化程序设计|| 实验三:C#面向对象编程(二)
在每次循环中,需要进行卡号的查找、密码验证和金额合法性检查等操作,操作的时间复杂度都是O(n),其中n为储蓄卡数组的长度。因此,整个程序的时间复杂度为O(N*M),其中N为储蓄卡总数,M为当日存款或取款的总次数。设储蓄卡包含的数据域有:卡号,当前余额,允许当日发生的业务次数(定义成静态变量,为所有Card类所共享),当日实际发生的业务数,以及一个数组记录发生的具体业务。它提供的主要方法有store(),处理判断是否超过当日允许发生的最大笔数,当前余额是否足以取款,以及实时修改当前数据等。
2025-04-25 14:30:00
872
原创 可视化程序设计|| 实验二:C#面向对象编程(一)
1. 定义图书信息类 Card:包括私有字段 title, author, total 和两个构造函数,定义 store 方法用于存储图书信息, show 方法用于展示图书信息,Title, Author, Total 属性实现对字段的访问控制。在实验过程中,我首先定义了一个图书信息类Card,其中包括了标题、作者和库存量等属性,并实现了存储和展示图书信息的方法。然后,在EXP2类中,我创建了一个Card数组来存储多本图书的信息,通过用户输入将图书信息存储到数组中。这个类的成员包括书名、作者、馆藏数量。
2025-04-25 09:42:05
773
原创 可视化程序设计|| 实验一:C#语言基础
根据实验代码,最终输出了满足条件的放置方案,即红球放置在1号,黄球放置在4号,黑球放置在2号,白球放置在3号。在实验过程中,首先定义了四个整型变量a、b、c、d分别表示红、黄、黑、白球的放置位置编号。注释(2)的含义可以用其他语句表示为:if ((c == 1 ^ b == 2) && (c == 2 ^ d == 3) && (a == 2 ^ d == 4))有红、黄、黑、白4色球各一个,放置在编号为1、2、3、4的4个盒子中,每个盒子放一只球,其顺序不知。1)判断a、b、c是否都不相等,即a!
2025-04-25 08:59:16
579
原创 计算机体系结构|| Tomasulo算法
了解到在MUL.D指令写结果时,保留站、load缓冲器以及寄存器状态表中的内容变化,以及这些变化如何影响后续指令的执行。通过模拟执行给定的代码片段,使我能够具体分析在每个时钟周期,保留站、指令状态表以及浮点寄存器状态表内容的变化情况,加深了我对Tomasulo算法动态调度过程的理解。浮点功能部件的延迟时间为加减法3个周期,乘法8个时钟周期,除法40个时钟周期,load部件2个时钟周期。假设浮点功能部件的延迟时间为加减法2个周期,乘法10个时钟周期,除法40个时钟周期,Load部件2个时钟周期。
2025-04-24 16:23:11
1077
原创 计算机体系结构|| Cache性能分析
FIFO算法按调入Cache的先后决定淘汰的顺序,选择最早调入Cache的字块进行替换,它不需要记录各字块的使用情况,比较容易实现,系统开销小,其缺点是可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入Cache的块替换掉,而且没有根据访存的局部性原理,故不能提高Cache的命中率。(4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB、256KB,分别执行模拟器(单击“执行到底”),在表4.1中记录各种情况下的不命中率。(2)选择一个地址流文件。
2025-04-24 11:23:26
1673
原创 计算机体系结构|| MIPS指令系统和MIPS体系结构
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化。(4)选择“文件”→“载入程序”选项,加载样例程序alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000100)。15)下一条指令地址为0x00000068,是一条JALR指令,保存目标地址的寄存器为R1,保存返回地址的目标寄存器为R3。
2025-04-24 09:51:46
509
原创 单片机原理及应用|| 实验四:广告灯设计与实现
通过这次广告灯设计与实现的实验,我学到了如何使用 P1 口来控制发光二极管的亮灭,我了解到当 P1 口输出“0”时,对应的发光二极管会亮起,而当 P1 口输出“1”时,对应的发光二极管会熄灭,我需要实现发光二极管按照指定顺序亮起并循环闪烁5次后熄灭,为了实现这个功能,我使用延时子程序来控制发光二极管的亮灭时间,并使用移位指令来改变发光二极管的亮灭顺序。
2025-04-23 09:17:30
726
原创 单片机原理及应用|| 实验三:数码管显示
我在这次实验中,学习了七段数码管的显示原理,并通过AT89C51驱动七段数码管的方法,我知道如何利用单片机的P0端口连接七段数码管并循环显示学号的每一位数字的操作步骤。我在实验过程中,先定义了一个学号数组和显示码表,通过循环控制将学号的每一位数字读取出来,并根据显示码表找到对应的显示码,将显示码输出到P0口,并调用延时函数进行延时等待。
2025-04-23 09:15:00
1036
原创 单片机原理及应用|| 实验二:循环与延时
通过这次实验,我学会了使用编译工具Keil和单片机模拟器Proteus,在实验中,我掌握了简单位操作指令的写法,我通过MOV指令将特定的数值加载到寄存器中,以实现对寄存器的初始化或者赋值操作;我还学习了条件跳转指令JB和JZ的使用,它们可以根据特定的条件跳转到程序的其他部分,从而实现分支控制;学习了单片机I/O口的输入输出功能,可以通过SETB和CLR指令,设置某个引脚为高电平或低电平,从而控制外部设备的状态,在这个实验中,通过控制P1口的输出,我成功实现了对发光二极管的闪烁;
2025-04-22 09:45:10
570
原创 单片机原理及应用|| 实验一:多字节加法
我进行这次实验,掌握了Keil软件的使用方法,包括输入、编辑、编译、运行和调试程序的步骤,通过编写程序,我还熟悉了MCS-51的简单指令,并掌握了数据传送指令的使用。在这个实验中,我学到了如何进行多字节的无符号数相加。被加数存储在内部RAM的50H、51H和52H单元中,低位在后;加数存储在内部RAM的53H、54H和55H单元中,低位在后,我将相加之和存放在50H、51H和52H单元中,低位在后,并将进位存放在位寻址区的00H位中。
2025-04-22 09:38:33
477
原创 编译原理|| 实验三:中间代码生成程序设计
通过这次实验,我学习了中间代码生成的基本方法和语法制导翻译模式。我先定义了全局变量tempNum和labelNum,用于生成临时变量名和标签名。然后实现了函数generateTemp()和generateLabel(),用于生成临时变量名和标签名,接着,我实现了函数emit(),用于输出中间代码。该函数根据传入的操作符、参数和结果生成相应的中间代码指令,我还实现了函数translate(),根据传入的操作符和参数生成对应的中间代码。
2025-04-21 14:36:26
534
原创 编译原理|| 实验二:语法分析程序设计
通过这次语法分析程序设计实验,我学习了语法分析的方法和算符优先分析等语法分析方法,我完成了基于算术表达式的语法分析程序的设计和实现,并进行了调试运行;在实验过程中,我采用了递归下降分析器的方法。我先仔细分析了给定的文法规则,确保代码的正确性,然后,定义了输入串、中间变量、模拟栈以及存储推导过程的结构体数组等数据结构,来辅助实现语法分析。
2025-04-21 14:32:44
925
原创 编译原理|| 实验一:词法分析程序设计
通过这次实验,我学习了程序语言的词法结构和设计词法分析程序的一般方法,我也了解了词法分析器的基本原理和实现过程,并掌握使用状态转换图描述程序词法结构的方法,在实验中,我根据实验内容和给出的实验代码完成了一个简版C语言子集的词法分析程序的设计和调试运行,我按照课本上的示例,通过状态转换图的方式构建了词法分析器的状态转换表,并根据输入的字符进行相应的状态转换,在每个状态转换后,根据当前状态和输入字符的类型,输出对应的词法单元和值。
2025-04-21 14:28:26
2633
基于Java+SpringBoot的医疗机构药品管理系统(毕业设计)(含需求分析表,模块设计图、流程分析图、E-R图、数据库设计表、设计类图、部分时序图、系统架构图、接口设计表)
2025-05-11
文本编辑器(C语言/ EasyX /含可视化界面)
2025-04-27
面向对象程序设计(双语)Java 部分课后习题答案
2025-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅