- 博客(25)
- 收藏
- 关注
原创 会员抽奖系统测试报告
Selenium适用于Web应用UI自动化测试,支持多浏览器兼容性验证。自动化测试脚本集成到持续集成流程中,每次代码提交触发回归测试。进行性能测试评估系统在高负载下的响应时间和吞吐量。工具如JMeter模拟并发用户请求,监控资源利用率指标。
2025-06-25 12:48:24
934
原创 JMeter使用
Apache JMeter是一款开源Java性能测试工具,支持HTTP、FTP等多种协议。本文介绍其基本使用方法:1)通过修改配置文件实现界面汉化;2)创建线程组并添加HTTP请求;3)填写请求参数后添加监听器查看结果;4)可配置线程数、循环次数和执行时间来模拟不同负载场景。JMeter能详细展示请求/响应头及内容,适用于Web应用和服务器性能测试。
2025-06-15 22:59:18
336
原创 WEB自动化测试
WebDriverManager是一个开源Java库,以完全自动化的方式对Selenium WebDriver所需的驱动程序进行管理。
2025-06-13 19:57:16
879
原创 MyBatis
MyBatis是一个轻量级的Java持久层框架,起源于Apache的iBatis项目。它通过SQL注入方式实现数据库操作解耦,深受开发者喜爱。文章详细介绍了MyBatis的Maven搭建流程
2025-06-09 22:56:49
758
原创 网络原理-TCP
就需要让A在发出去最后一个ACK之后,让连接再等一会(主要就是看等的过程中会不会收到对方重传的FIN) 如果等了一定时间之后,对方还没有重传FIN,此时A才能正确释放连接。三次握手完成之后,客户端和服务器都形成了“连接”,此时accept就能够返回,从连接队列中取出队首元素,进一步的获取到其中的socket对象,来和对端通信。需要在返回ack的时候,拖延一点时间,利用拖延的这个时间,就可以给应用程序腾出来更多的消费数据的时间。会先尝试干掉所有的进程,和上面崩溃的处理是一样的。
2025-06-08 12:29:30
899
原创 优先级队列
优先级队列是一种特殊的数据结构,按元素优先级处理数据,不同于普通队列的FIFO规则。它基于堆实现,堆是完全二叉树的数组表示,分为大根堆(父节点≥子节点)和小根堆(父节点≤子节点)。堆的插入通过向上调整维护结构,删除堆顶后通过向下调整。Java中的PriorityQueue是非线程安全的优先级队列实现,支持默认构造、指定容量或通过集合初始化。堆的性质和调整操作是其高效管理优先级的关键,适用于需动态处理优先级场景(如任务调度)。
2025-06-07 10:41:41
303
原创 二叉树了解.
本文介绍了二叉树的基本概念和特性。主要内容包括:1) 树结构的定义和基本术语,如结点的度、树的深度、父结点、子结点等;2) 二叉树的定义和两种特殊形式(满二叉树和完全二叉树);3) 二叉树的五大重要性质;4) 二叉树的两种存储方式(顺序存储和链式存储);5) 二叉树的遍历方法,包括前序、中序、后序遍历以及层序遍历。文章通过图示和代码示例,系统性地阐述了二叉树的组成结构、数学特性及基本操作,为学习更复杂的树形数据结构奠定了基础。
2025-06-06 10:26:51
1010
原创 模拟实现消息队列
本文介绍了一个简单消息队列(MQ)的模拟实现方案。文章首先定义了MQ的基本概念和核心组件(生产者、消费者、Broker),然后详细分析了Broker的核心功能,包括虚拟机、交换机、队列等概念。文章提出了需要实现的9个核心API,并解释了三种主要交换机类型(Direct、Fanout、Topic)的功能特性。此外还介绍了持久化、网络通信和消息应答等关键机制的设计思路。最后展示了项目模块划分和核心类的代码结构设计,包括Exchange、MSGQueue等类的属性定义。该实现方案参考了RabbitMQ的设计.
2025-06-04 15:52:50
349
原创 Spring Boot 配置⽂件
yml 是 YAML 是缩写yml 是树形结构的配置⽂件,它的基础语法是"key: value". key 和 value 之间使⽤英⽂冒号加空格的⽅式组成,空格不可省略
2025-03-22 17:29:58
675
原创 Linux
编辑文件:默认是普通模式,普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是输入字母 “j”, 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录(mkdir aaa/bbb/ccc -p)cd切换到的目录的名称(绝对路径:Linux以/开头;开头的,.可以省略)保存退出:先输入“ :”,接下来输入就是vim命令,wq 回车(w:保存,q:退出)
2025-01-18 18:14:38
594
原创 UDP协议
把UDP数据报中的每个字节,都依次进行累加~ 把累加结果,保存到2个字节的变量中,加着,可能就溢出了——溢出也无所谓。所有字节都加了一遍,最终就得到了校验和。接收方按照同样的方式再算一遍~~得到新的校验和,如果旧的校验和 和 新的校验和,相同,就可以视为数据传输过程中是正确的。1~1024这个范围的端口号(知名端口号),系统赋予了特定的含义,一般也不建议使用。接受方收到数据,同时也收到了发送端送过来的校验和(旧的校验和)合法的端口号,有效范围 0~65535 实际上0不会使用的。
2023-08-16 16:19:40
269
1
原创 网络原理初识
随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在一起,完成数据共享。数据共享本质是,即计算机之间通过网络来传输数据,也称为。根据网络互连的规模不同,可以划分为局域网和广域网。局域网,即 Local Area Network,简称LAN。Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。
2023-08-16 16:11:43
160
1
原创 包装类&简单认识泛型
一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。----- 来源《Java编程思想》对泛型的介绍。就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。
2023-08-15 16:51:29
85
原创 栈和 队列
一种特殊的线性表,其。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,。出栈:栈的删除操作叫做出栈。。
2023-08-15 16:42:59
114
原创 LinkedList与链表
LinkedList的底层是双向链表结构(链表后面介绍),由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。LinkedList实现了List接口LinkedList的底层使用了双向链表LinkedList没有实现RandomAccess接口,因此LinkedList不支持随机访问LinkedList的任意位置插入和删除元素时效率比较高,时间复杂度为O(1)
2023-08-15 16:35:20
78
原创 ArrayList与顺序表
说明ArrayList是以泛型方式实现的,使用时必须要先实例化ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问ArrayList实现了Cloneable接口,表明ArrayList是可以clone的ArrayList实现了Serializable接口,表明ArrayList是支持序列化的和Vector不同,ArrayList不是线程安全的,在单线程下可以使用,在多线程中可以选择Vector或者CopyOnWriteArrayList。
2023-08-15 16:32:23
61
原创 String 类
在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。可以看待在对String类进行修改时,效率是非常慢的,因此:尽量避免对String的直接需要
2023-08-15 16:18:29
67
原创 抽象类和接口
(只能是public abstract,其他修饰符都会报错)// Error:(4, 18) java: 此处不允许使用修饰符private3. 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现// 编译失败:因为接口中的方式默认为抽象方法// Error:(5, 23) java: 接口抽象方法不能带有主体System.out.println("关闭USB设备");4.子类实现接口方法的时候,这个方法一定要是public修饰的。
2023-04-12 11:31:44
126
原创 Java的多态
多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态。向上转型向上转型:实际就是创建一个子类对象,将其当成父类对象来使用。语法格式:父类类型 对象名 = new 子类类型()Animal animal = new Cat("元宝",2);animal是父类类型,但可以引用一个子类对象,因为是从小范围向大范围的转换。向上转型的优点:让代码实现更简单灵活。向上转型的缺陷:不能调用到子类特有的方法。向下转型。
2023-03-25 15:04:45
202
1
原创 Java中的继承
通过派生类对象访问父类与子类同名方法时,如果父类和子类同名方法的参数列表不同(重载),根据调用方法适传递的参数选择合适的方法访问,如果没有则报错。如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的父类构造方法调用,否则编译失败。通过子类对象访问父类与子类中不同名方法时,优先在子类中找,找到则访问,否则在父类中找,找到则访问,否则编译报错。如果访问的成员变量子类中无,则访问父类继承下来的,如果父类也没有定义,则编译报错。
2023-03-23 21:35:23
169
原创 类和对象(一)
类 :1 两眼睛,一张嘴,一个鼻子(对象的属性)2 会打游戏,会吃饭(对象的行为)方法类用来对一个实体(对象)进行描述一般情况下一个Java文件一个类main方法在的类一般要使用public修饰public修饰的类必须与文件名相同不要轻易修改public修饰的类的名称(右键 -> Re-factor -> Rename )
2023-03-22 16:22:39
145
1
原创 猜数字游戏
猜数字游戏最核心的是先生成一个随机值。那么需要rand函数。设变量int ret = rand()同时引用头文件include 〈stdlib.h〉但是rand函数每次运行都是一样的值,所以在使用前使用一个strand函数来设置随机数生成。strand又需要一个随机值,通过time函数实现时间戳。time(NULL)传一个空值,使用unsigned int强制转换。strand((unsigned int)time(NULL))再将rand()%100+1实现随机值1~100
2022-10-28 14:02:06
632
原创 二分查找法
多个字符交换先定义两个变量分别代表数组的左右下表。int left代表数组第一个下标:0int right代表最后一个下标:strlen(arr)-1在left小于right的情况下循环两个数组下标互相交换,并且两个变量不断++和--。实现了两个数组逐字交换交换Sleep实现睡眠,Sleep(1000),单位是毫秒。system(“cls”)清空屏幕
2022-10-27 11:35:13
222
1
原创 进入编程生涯第一步
1.自己是一个刚刚走进大学的小白,我对计算机的认知其实是非常浅薄的,也承认自己并没有激情去学习。可是现在已经选择了这条路,肯定也要坚定不移走下去,不保证努力成为技术狂,但肯定会勤学,一定会坚持。2.对于自己学习的目标,肯定也是多多益善,以前对于程序员没有多大概念,但初步了解后就知道那些大佬有多么牛。虽然自己现在写几十行代码就很困难,但是相信以后写几万行代码完全不是问题。自己肯定也能完成一个项目的构建。3.学习第一步肯定是了解,看视频也好,读书也好,充分利用前人搭建好的路,形成自己对于行业的理解。同时
2022-10-14 18:48:15
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅