- 博客(52)
- 收藏
- 关注
原创 计算机网络--TCP传输
TCP可靠传输机制与连接管理 摘要: TCP协议通过滑动窗口机制实现可靠传输,发送方根据接收方窗口动态调整发送速率。接收方采用累积确认和捎带确认机制,对乱序数据暂存处理而非直接丢弃,提高网络利用率。TCP要求确认延迟不超过0.5秒以避免不必要重传。全双工通信中双方各自维护发送/接收窗口。连接建立阶段需解决三个关键问题:确认对方存在、参数协商和资源分配。连接释放过程确保双方资源有序释放。这些机制共同保障了TCP的可靠性和高效性。
2025-12-21 14:47:42
750
原创 计算机网络-- TCP
TCP通过流量控制和拥塞控制机制确保数据传输效率。流量控制采用滑动窗口机制,接收方通过调整接收窗口大小限制发送速率,避免数据丢失。拥塞控制通过动态调整拥塞窗口(cwnd)来应对网络状况,包括慢启动、拥塞避免、快重传和快恢复四种算法。当检测到丢包时,快重传立即重传数据而不等待超时,快恢复则调整窗口大小避免不必要的慢启动。这些机制共同保障了TCP在高负载网络环境下的可靠传输和合理带宽利用。
2025-12-20 21:54:38
806
1
原创 计算机网络--运输层
摘要:本文介绍了计算机网络运输层的核心概念。运输层位于网络体系结构第四层,为应用进程提供端到端通信服务,主要包含TCP和UDP两种协议。运输层通过端口号标识应用进程,端口号分为熟知端口号、登记端口号和短暂端口号三类。文章对比了UDP和TCP协议的特点:UDP是无连接的简单协议,支持多种通信方式但不可靠;TCP是面向连接的可靠协议,提供流量控制和拥塞控制,但只能一对一通信。两种协议在连接方式、可靠性和首部开销等方面存在显著差异。
2025-12-20 21:13:31
875
原创 计算机网络--IPv4地址
IPv4地址是32位的全球唯一标识符,用于分配给互联网主机和路由器接口。由ICANN统一管理,我国通过APNIC申请。2011年IPv4地址耗尽,我国2014-2015年停止分配并转向IPv6部署。IPv4经历了三个编址阶段,采用点分十进制表示法。A、B、C类地址可分配使用,但需注意全0主机号为网络地址,全1为广播地址,均不可分配给设备接口。
2025-12-20 20:46:26
353
原创 计算机网络--网络层
网络层负责实现网络互联和数据包传输,主要解决服务类型、寻址和路由选择问题。TCP/IP协议栈的网络层称为网际层,核心是IP协议。网络层提供两种服务:面向连接的虚电路服务(如X.25、ATM)通过建立虚电路实现可靠传输;无连接的数据报服务(如因特网)由主机保证可靠性,分组独立路由,简化了网络核心设计。因特网采用数据报服务,将复杂功能置于边缘,核心仅提供尽力而为的分组交付。
2025-12-20 18:58:16
316
原创 计算机网络--可靠传输的实现机制
本文介绍了三种数据链路层协议:停止-等待协议(SW)、回退N帧协议(GBN)和选择重传协议(SR)。SW协议通过超时重传和序号机制确保可靠传输,但信道利用率低。GBN协议允许发送方连续发送多个分组,采用累积确认和全部重传机制,提高了效率但可能造成冗余重传。SR协议则通过选择性重传和逐个确认机制,只重传出错分组,进一步提升了传输效率。三种协议在发送窗口、接收窗口和确认机制上各有特点,适用于不同网络环境。
2025-12-19 15:40:04
871
原创 计算机网络--IP地址和子网划分
本文系统介绍了IP地址相关知识体系。首先阐述了IP地址的基本概念、组成结构和分类标准(A-E类),重点说明了公有地址和私有地址的区别。其次详细讲解了子网划分技术,包括等长子网划分的位数借用原理和变长子网划分(VLSM)的实际应用。然后介绍了CIDR无类别编址方式及其表示方法。最后解析了超网合并技术,说明了通过掩码左移实现网段合并的规则和判断标准。全文构建了从基础概念到高级应用的完整知识框架,涵盖了IP地址管理的关键技术要点。
2025-12-19 13:51:04
1000
原创 计算机网络--数据链路层
本文摘要:文章系统介绍了数据链路层的三个核心问题:1)封装成帧,将IP数据包封装为帧结构;2)透明传输,确保数据无限制传输;3)差错检验,重点阐述了奇偶校验和循环冗余校验(CRC)两种方法。其中,奇偶校验通过附加校验位实现简单检错,但存在漏检风险;CRC则采用多项式除法生成冗余码,具有更高的可靠性。文章通过实例详细说明了CRC的校验原理和实现过程,包括除数约定、冗余码计算和接收方验证等关键步骤,为理解数据链路层的差错控制机制提供了清晰的技术框架。
2025-12-19 11:15:09
741
原创 计算机网络 --物理层
本文摘要:数据通信基础涵盖物理层接口特性、信号传输类型和通信系统组成。传输介质分为有线和无线两类,包括同轴电缆、双绞线、光纤及无线电波等。数字通信涉及基带传输、编码方式和调制解调技术。多路复用技术通过频分、时分等方式提高信道利用率。物理层设备如中继器和集线器用于信号放大和扩展网络范围。这些技术共同构成了数据通信的底层架构,实现信息的可靠传输。
2025-12-19 10:44:18
1187
原创 计算机网络--网络基础概述
本文系统介绍了计算机网络的基本概念与发展历程。主要内容包括:1)网络定义及发展四个阶段;2)网络分类(按介质、速度、技术等)及其在信息浏览、电子商务等领域的应用;3)网络组成结构(硬件/软件、资源/通信子网);4)OSI七层模型(从物理层到应用层)及各层功能。重点阐述了网络与互联网、因特网的区别,以及OSI模型中各层的协议数据单元和核心功能。
2025-12-19 10:44:05
520
原创 软件测试--接口测试
本文介绍了接口测试的基本概念和方法。接口分为程序内部接口和系统对外接口两种类型,主要用于组件间的数据交互。接口测试主要验证数据交换、传递和控制管理过程,相比功能测试更简单直接。接口文档应包含请求地址、方法、参数等要素。接口测试的重要性体现在能发现前端测试难以覆盖的安全漏洞和异常处理问题。执行接口测试需要了解请求方法(GET/POST)和HTTP状态码,测试步骤包括:1)通过性验证;2)参数组合测试;3)接口安全测试(绕过验证、身份授权、参数加密);4)异常验证。最后还需结合具体业务逻辑设计测试用例,如登录失
2025-12-18 15:12:44
1487
原创 Python--文件
如上面代码所示, 如果一直循环的打开文件, 而不去关闭的话, 就会出现上述报错. 当一个程序打开的文件个数超过上限, 就会抛出异常. 注意: 上述代码中, 使用一个列表来保存了所有的文件对象. 如果不进行保存, 那么 Python 内置的垃 圾回收机制, 会在文件对象销毁的时候自动关闭文件. 但是由于垃圾回收操作不一定及时, 所以我们写代码仍然要考虑手动关闭, 尽量避免依赖自动关闭.使用记事本打开文本文件, 在 "菜单栏" -> "文件" -> "另存为" 窗口中, 可以看到当前文件的编码方式.
2025-12-18 13:05:52
898
原创 Python--字典
本文介绍了Python字典的基本概念和操作方法。字典是一种存储键值对的数据结构,可以通过键快速查找值。主要内容包括:字典的创建方式(使用{}或dict()),查找key(in操作符和[]访问),新增/修改元素(通过赋值操作),删除元素(pop方法),遍历字典(for循环),获取所有keys/values/items(keys()/values()/items()方法)。最后说明了合法的key类型必须是可哈希的(如数字、字符串、元组等),而列表和字典不可作为key。这些操作是Python字典编程的基础知识。
2025-12-18 11:30:51
639
原创 Python--列表和元组
本文介绍了Python中列表(list)和元组(tuple)的基本概念及操作方法。列表是可变的序列类型,用于存储多个元素,支持增删改查等操作;元组是不可变序列,创建后不能修改。文章详细讲解了列表的创建、访问、切片、遍历、增删元素等操作,并比较了列表与元组的异同。元组相比列表更安全且可哈希,适合作为字典键值。通过类比"散装辣条"和"包装辣条"形象说明了二者的主要区别。
2025-12-18 11:16:45
738
原创 Python--函数(下)
本文介绍了Python中变量作用域和函数执行的相关概念。在变量作用域方面,函数内部定义的局部变量与外部全局变量互不影响,通过global关键字可修改全局变量,而if/while/for语句块不会创建新作用域。函数执行过程包括调用、执行和返回,支持链式调用和嵌套调用,函数调用时会形成调用栈记录执行状态。递归是一种特殊的嵌套调用,需设置终止条件避免无限递归,其代码简洁但效率较低。此外,文章还介绍了参数默认值和关键字参数的用法,带默认值的参数需放在参数列表末尾,关键字参数允许显式指定参数传递顺序。这些概念对理解P
2025-12-18 10:26:13
883
原创 WebLink 即时通讯系统--测试报告
网页聊天室作为一种轻量级的即时通讯平台,因其无需安装额外软件、跨平台兼容性强、使用便捷等特点,受到了广大用户的青睐。本测试报告旨在对网页聊天室进行全面的测试,以确保其稳定性、安全性、易用性等方面均能满足用户需求。处理器 13th Gen Intel(R) Core(TM) i7-13700H (2.40 GHz)1.4 添加配置元件:HTTP请求默认值、HTTP Cookie管理器、CSV数据⽂件设置。浏览器:Chrome版本142.0.7444.176(正式版本) (64 位)
2025-12-17 18:45:31
363
原创 Python--函数(上)
本文介绍了Python函数的基本概念和使用方法。主要内容包括:1.函数是将重复代码封装的可重用代码块;2.函数定义语法def及调用方式;3.形参和实参的概念,支持多参数和动态类型;4.使用return返回单个或多个值,支持忽略部分返回值。通过示例展示了函数如何提高代码复用性和维护性,是Python编程的重要基础。
2025-12-13 15:51:54
679
原创 Python--运算符
摘要:本文介绍了Python中的运算符分类及使用注意事项。算术运算符包括+、-、*、/、%、**、//,其中需注意除零异常、整数除法结果可能为小数、//为向下取整除法。关系运算符(<、>、==等)可用于数值和字符串比较,字符串按字典序比较,浮点数比较应避免直接使用==。逻辑运算符and、or、not具有短路求值特性。赋值运算符支持链式赋值和多元赋值,复合赋值运算符如+=替代了++/--操作。文章特别指出Python为避免混淆未采用++/--运算符。
2025-12-13 15:07:45
979
原创 Python--注释和输入输出
本文介绍了Python编程中的注释和输入输出操作。注释分为单行注释(#开头)和多行文档字符串(三引号),用于解释代码逻辑。输入输出主要通过控制台实现:print()函数用于输出,支持f-string格式化;input()函数获取用户输入,返回字符串类型,需通过int()/float()等进行类型转换才能进行数值运算。文中还演示了计算方差和整数相加的代码示例,强调注释对代码可读性的重要性。
2025-12-13 14:45:50
866
原创 Python--常量和变量
本文介绍了Python编程中的基础概念:常量和表达式、变量和类型。在表达式中,Python支持基本算术运算,其运算符优先级符合数学规则。变量用于存储中间计算结果,命名需遵循特定规则。Python是动态类型语言,变量类型在运行时确定,支持整数、浮点数、字符串、布尔等多种数据类型。其中整数无大小限制,浮点数为双精度,字符串可用单/双引号表示并支持拼接。动态类型特性简化了中小型程序开发,但也可能增加大型项目的理解难度。
2025-12-13 13:55:54
717
原创 操作系统--内存管理
引入目的:更好的支持多道程序的并发执行,提高系统性能主要功能:(1)内存空间的分配与回收(2)存储的保护和共享:保证各道作业在各自的存储空间内运行,互不干扰(3)地址转换:在多道程序环境下,程序中的逻辑地址与内存中的物理地址不可能一致,因此存储管理必须提供地址变换功能,把逻辑地址转换成相应的物理地址。(4)内存扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。
2025-12-11 13:15:44
669
原创 操作系统--死锁
本文摘要: 死锁是指多个进程因竞争资源陷入相互等待的僵局。其产生原因包括资源竞争、进程顺序不当和信号量使用错误。死锁需满足互斥、不剥夺、请求保持和循环等待四个必要条件。预防方法包括破坏这些条件之一,如资源编号分配法。系统安全状态指存在资源分配安全序列,避免进入不安全状态可防止死锁。通过合理资源分配策略,能有效预防和避免死锁发生。
2025-12-11 12:31:52
564
原创 操作系统--进程同步问题
摘要:生产者消费者问题描述生产者与消费者共享有限缓冲区时的同步互斥关系;读者写者问题分析多读者单写者访问共享文件时的互斥控制,指出读者优先算法可能导致写者饥饿;哲学家进餐问题展示五名哲学家共享五根筷子时可能产生的死锁场景。三个经典同步问题都涉及进程对共享资源的互斥访问与协调控制,需要合理设置信号量机制来解决同步与互斥问题。(149字)
2025-12-11 11:58:42
1127
原创 操作系统--进程同步
例:对于混合运算1+2*3,假设系统产生两个进程,加法进程和乘法进程,要让计算结果正确,一定要让加法进程发生在乘法进程之后,但实际操作系统具有异步性,若不加以制约,加法进程发生在乘法进程之前是有可能的,因此要制定一定的机制去约束加法进程,让它在乘法进程完成之后才发生。互斥也称间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源。对临界资源的访问,必须互斥地进行,在每个进程中,访问临界资源的那段代码称为临界区。
2025-12-10 20:49:05
995
原创 操作系统--进程调度算法
若处理机正在执行第级队列中的某进程,这时又有新进程进入优先级最高的队列,则此时新进程将抢占正在运行进程的处理机,即由调度程序把正在运行的进程放回第级队列的末尾,把处理机分配给新到的更高优先级的进程。若它在一个时间片结束时尚未完成,调度程序便将该进程转入第2级队列的末尾,再以同样的方法放入第3级队列 .... 如此下去,当一个长进程从第1级队列依次降到第n级队列后,在第n级队列中便采用时间片轮转的方式运行。就绪的进程,而被剥夺的进程返回就绪队列的末尾重新排队,等待再次运行。
2025-12-10 17:11:39
382
原创 操作系统--调度(下)
FCFS调度算法属于不可剥夺算法,从表面上看,他对所有作业都是公平的,但若一个长作业先到达系统,就会使后面的许多短作业等待很长时间,因此它不能作为分时系统和实时系统的主要调度策略。高响应比优先调度算法主要用于作业调度,是对FCFS调度算法和SJF调度算法的一种综合平衡,同时考虑了每个作业的等待时间和估计的运行时间。在作业调度中,优先级调度算法每次从后备作业队列中选择优先级最高的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列。CPU繁忙型作业一般为长作业,I/O繁忙型作业为短作业。
2025-12-10 13:42:11
271
原创 操作系统--调度(上)
1.作业调度:又称高级调度,其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个(或多个作业),给它们分配内存、输入、输出设备等必要的资源,并建立相应的进程,以使得他们获得竞争处理机的权利。3.进程调度:又称低级调度,其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它,进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。2.系统吞吐量:表示单位时间内COU完成作业的数量,长作业需要消耗较长的处理机时间,因此会降低系统的吞吐量,短作业能提高系统的吞吐量。
2025-12-10 12:41:36
458
原创 操作系统--进程与线程
本文介绍了程序的执行方式及进程相关概念。程序执行分为顺序执行(具有顺序性、封闭性和可再生性)和并发执行(具有间断性、失去封闭性和不可再现性)。为支持并发执行引入了进程概念,进程具有动态性、并发性、独立性和异步性特征,其状态包括运行态、就绪态和阻塞态。文章还阐述了进程控制、通信方式(共享存储、消息传递和管道通信),以及线程的基本概念,比较了进程与线程在调度、资源拥有、并发性等方面的区别,指出线程的引入是为了降低并发开销。
2025-12-09 20:03:16
1042
原创 操作系统--概念与特征
在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每个时刻,单处理机环境下实际仅能有一道程序执行,因此微观上这些程序仍是分时交替执行的,操作系统的并发性是通过分时得以实现的。系统中还有一类资源,这类资源允许一段时间内由多个进程“同时”访问,这里所说的同时通常是宏观的,而在微观上,这些进城可能是交替地对该资源进行访问,即“分时共享”的。是指多道程序环境下,由于资源有限,程序的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。
2025-12-09 18:23:04
761
原创 软件测试--用例篇
测试用例是实施测试时提供的一组集合,包含测试环境、操作步骤、测试数据、预期结果等要素。设计测试用例需遵循常规思维+逆向思维+发散性思维,并采用万能公式:功能、界面、性能、兼容性、易用性、安全测试。具体设计方法包括等价类划分(有效/无效输入)、边界值分析(边界及次边界值)、正交法(减少组合用例)、判定表法(逻辑关系)、场景法(业务流程)和错误猜测法(经验直觉)。这些方法综合使用可提高测试覆盖率和效率,确保系统功能正确性和稳定性。
2025-12-05 20:57:03
937
原创 [MySQL数据库] 索引
MySQL索引是一种提高查询效率的数据结构,通过特定规则组织数据,类似书籍目录。索引能加速查询但会增加存储开销并降低增删改速度。MySQL自动为主键、外键等约束创建索引,也可手动创建。常见索引类型包括主键、唯一和普通索引,创建方式多样。索引应建在高频查询列上,过多索引会降低性能。传统数据结构如二叉搜索树、哈希表等因查询效率或范围查询限制不适合索引。MySQL采用B+树作为索引结构,其特点是数据有序、非叶节点仅作索引、叶节点链接便于范围查询。B+树三层结构可支持约2200万条记录的高效查询,仅需三次IO操作。
2025-12-05 19:56:39
1001
原创 数据库基本操作(下)
本文介绍了SQL中数据操作的基本语法。主要包括:1)INSERT语句用于单行/多行数据插入,支持全列或指定列插入;2)UPDATE语句修改数据,需注意不加WHERE条件会更新全表;3)DELETE语句删除数据,不加条件会清空整表;4)常用聚合函数COUNT、SUM、AVG、MAX/MIN的使用方法;5)通过INSERT...SELECT实现表间数据复制,需注意列名格式和数据类型匹配。文中强调了不加条件修改或删除数据可能带来的风险,操作时需谨慎。
2025-12-05 19:05:26
258
原创 软件测试--BUG篇
本文系统介绍了软件测试生命周期和BUG管理相关内容。在测试生命周期部分,阐述了测试贯穿软件全周期的流程特点。BUG管理部分详细说明了bug的定义、描述要素、分级标准(崩溃/严重/一般/次要)及其完整生命周期(New→Open→Fixed→Closed等状态流转)。针对测试与开发人员常见的争执问题,提出了5个解决方案:1)检查bug描述清晰度;2)从用户角度思考;3)有理有据定级;4)提升技术能力并提出解决方案;5)必要时组织bug评审。特别强调测试人员应通过提升业务水平建立权威性,同时注意沟通方式,避免命令
2025-12-03 12:09:40
1055
原创 软件测试---概念篇
本文介绍了软件开发中的需求分析和开发模型。需求分为用户需求(甲方/终端用户需求)和软件需求(开发实现的具体功能),强调产品经理需将用户需求转化为可执行的软件需求。开发模型部分详细讲解了瀑布模型、螺旋模型、增量/迭代模型和敏捷模型的特点及适用场景,其中敏捷模型强调快速响应变化。最后介绍了V模型和W模型两种测试模型,分析其优缺点。全文系统梳理了软件开发生命周期各阶段的核心概念和实践方法,为软件开发测试工作提供了理论框架。
2025-12-03 10:41:53
1152
原创 软件测试--【自动化测试常用函数】(下)
本文总结了Selenium自动化测试中的关键函数使用技巧,主要包括:1)三种等待方式(强制等待、隐式等待和显式等待)的优缺点及适用场景;2)浏览器导航操作(打开网址、前进/后退/刷新);3)处理不同类型弹窗(警告、确认、提示)的方法;4)文件上传的特殊处理方式;5)浏览器参数设置技巧。重点分析了等待机制的重要性,比较了不同等待方式的性能差异,并提供了元素定位异常时的排查思路。文章通过实际案例展示了各功能的代码实现,为自动化测试实践提供了实用指导。
2025-11-28 20:39:43
775
原创 软件测试--【自动化测试常用函数】(中)
摘要:本文介绍了自动化测试中常用的页面元素操作方法,包括点击(click())、输入(sendKeys())、清除(clear())和获取文本(getText())等基本操作。同时讲解了窗口管理技巧,如获取窗口句柄(WindowHandle)、切换窗口(switchTo().window())和设置窗口大小等方法。文章还特别强调了处理隐藏元素、文本拼接问题以及窗口切换时的注意事项,并提供了屏幕截图功能实现方案,为自动化测试实践提供了实用的技术指导。
2025-11-26 21:56:20
1074
原创 软件测试--【自动化测试常用函数】(上)
本文介绍了自动化测试中元素定位的核心方法,重点讲解了findElement()和findElements()的使用。通过开发者工具(F12)定位元素后,可采用cssSelector或xpath两种主要方式进行定位,并分析了各自的语法特点。文章还对比了不同定位方式的适用场景,如避免使用name定位可能导致的重复问题。在findElements()部分,说明了如何处理返回的List数组及识别相同元素的标准。最后补充了xpath常用语法,包括节点获取、属性匹配和索引定位等实用技巧,帮助测试人员更精准地定位页面元素
2025-11-26 13:36:25
627
原创 数据库基本操作(上)
SQL查询操作指南摘要 本文系统介绍了SQL基础查询和联合查询操作。基础查询部分包含:全表查询、表达式查询、别名设置、去重、条件筛选、范围查询、模糊匹配、NULL处理、排序和分页等核心语法。联合查询部分详细讲解了内连接、外连接(左/右连接)、自连接、子查询和合并查询(UNION/UNION ALL)等多种表连接方式,并配有实际应用示例。特别强调了多表查询时笛卡尔积的处理技巧,以及如何通过连接条件和别名优化查询性能。文章还收录了力扣真题解析,展示了SQL查询在实际问题中的应用场景。
2025-11-25 21:27:19
522
原创 软件测试--【自动化测试(Java)】
如图:有一个软件有三个版本分别为v110、v111以及v112,其中v110版本已经上市说明功能1到功能30通过了测试,但一段时间后推出了v111版本新增了功能31,这时候我们需要对功能31进行测试,同时为了防止新功能的出现影响前30个功能,我们仍需要对功能1-30进行测试,同样,当v112版本出来时,虽然没有新增加功能,但是我们发现功能30进行了更新,我们同样为了防止更新对其他功能和历史版本造成影响,仍需要对其进行测试。自动化在我们的生活中随处可见,有效的减少了人力的消耗给我们的生活带来了便捷。
2025-11-23 21:22:28
1213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅