- 博客(25)
- 收藏
- 关注
原创 考练通在线测评系统-测试报告
本次测试暴露出系统存在严重的性能瓶颈,特别是"问题列表"和"项目列表"功能完全达不到可用的性能标准。建议优先解决这两个接口的性能问题,其次优化listCurrent接口的稳定性。登录相关功能(currentUser/login)表现良好,可作为性能基准参考。
2025-11-14 15:22:47
1041
原创 GUI自动化测试
Pywinauto是一款基于Python的跨平台GUI自动化库,专门针对Windows桌面应用程序设计,核心能力在于模拟用户交互行为实现对窗口、对话框及内部空间的精准定位与操作,基于Web的应用程序以及基于自定义渲染引擎的应用程序无法使用Pywinauto实现GUI自动化测试。
2025-11-07 11:03:19
581
原创 接口自动化测试
YAML文件的后缀名是.yml不同的数据类型在写法上稍有区别如若短时间内无法掌握语法,可以使用JSON转YAML工具:# 导⼊ logging 模块# 获取⼀个⽇志记录器对象,名称为当前模块的名称# 设置⽇志记录器的级别为 DEBUG# 这意味着所有级别为 DEBUG 及以上的⽇志都会被记录# 导⼊ logging 模块# 获取⼀个⽇志记录器对象,名称为当前模块的名称# 设置⽇志记录器的级别为 DEBUG# 这意味着所有级别为 DEBUG 及以上的⽇志都会被记录。
2025-11-06 15:54:25
1068
原创 自动化测试
添加方式:线程组——配置元件——用户定义的变量有时只想在固定的场景里使用参数化,改动后不希望影响到其他脚本使用:在HTTP请求的取样其中引入定义的变量适用场景:变量需要在多个脚本中使用,方便统一管理和修改。
2025-11-05 12:00:00
903
原创 Spring初学重点
简单来说,Spring是一个开发应用框架,主要特点是:轻量级、一站式、模块化,其主要功能是管理对象、以及对象之间的依赖关系、数据库事务管理等;同时还具有高度可开放性,可以自由选择部分或者全部,也可以无缝继承第三方框架Spring MVC是Spring的一个子框架,是在Spring的基础上按照MVC模式设计的一个MVC框架,所以天生与Spring框架集成,可以更简洁的进行Web层开发。
2025-09-01 07:44:20
526
原创 JVM Java虚拟机
Java中JDK是Java开发工具包(写Java代码/编译代码,需要用到的内容)JRE是Java运行时环境(是运行Java程序需要的内容)JVM是JRE中的核心模块虚拟机就是用软件模拟硬件,但Java的虚拟机并不是模拟出电脑的所有核心硬件(一部分),也不能运行独立的操作系统,只能运行Java的代码。
2025-07-24 11:11:56
806
原创 HTTP协议
应用层协议可以自定义,约定好通信传输的信息和数据组织的格式,也可以基于现成的应用层协议来进行开发,众多协议中,HTTP协议是非常好的选择HTTP全称为超文本传输协议,顾名思义是基于文本格式的协议,超文本又说明其中包含了一些更复杂的内容,包括图片、视频、音频等。
2025-07-23 19:08:35
1007
原创 网络编程中的IP协议
IP协议时核心网络层协议,主要功能是为联网设备提供寻址和路由服务4位版本:IPV4或IPV64位首部长度:IP协议中,报头也是变长的(包含选项),最大长度60字节8位服务类型:是用来转变状态的,有4位有效状态(最小延时:发生时间和收到数据时间尽量短/最大吞吐量:单位时间内传输的数据尽量多/最高可靠性:在IP层面尽量减少丢包的概率/最小成本:消耗的系统资源最少。
2025-07-22 11:25:58
1019
原创 Java中的网络编程
其他四层都是系统已经实现了的,但是应用层是程序员需要程序员自己实现,通常需要定义好数据传输的格式,调用传输层API(socket API)进行真正的网络通信,工作中被称为“约定前后端交互接口”自定义协议的过程,主要是约定两件事:1.通信的信息:根据需求来确定2.通信的数据的格式:自定义行文本格式:1234,5678,2025-07-17 21:25:00,hello 缺点是可读性很差SML:通过成对的标签来对数据内容进行解释说明JSON:目前最流行的方式。
2025-07-18 12:00:00
656
原创 Java中的文件IO与操作
文件在计算机中是保存到硬盘上的,操作系统又会把硬盘操作进行抽象封装,编程的时候不会直接操作硬盘,而是通过文件的概念间接操作(打开文件,关闭文件,读文件,写文件)计算机通过文件资源管理器管理文件,类似于树形结构通过文件路径的概念描述一个文件的位置,从根节点一直到该文件,过程中遇到的每一个目录集合,同一个机器上,文件路径是唯一的,路径分为两种:绝对路径和相对路径,绝对路径是以盘符开头的路径;相对路径通常是以.或..开头的路径(一定要明确基准路径)
2025-07-17 11:00:00
296
原创 synchronized以及CAS等高频面试题
通过CAS来判定,当前load到寄存器的内容和内存的内容是否一致,如果一致,就认为没有其他线程修改过这个变量,接下来本线程的修改就是安全的,但这样存在一个缺陷,可能有另一个线程把A改成B,又从B改回了A,此时CAS是感知不到的,仍然认为没有线程修改过。针对ABA问题,如何解决呢:针对余额的修改,改成只能加不能减;偏向锁旨在优化单线程重复访问同步代码块的场景,当一个线程首次获得锁时,JVM会偏向该线程,后续该线程再次访问同一锁时,可以直接进入。锁的粒度:加锁和解锁范围中的代码越多,锁的粒度就越粗,反之。
2025-07-13 12:00:00
916
原创 多线程中的Wait和Notify 单例模式等
这俩方法是为了协调线程执行顺序,避免线程饿死这两个方法都是Object类的方法,所以Java中的所有类都有这两个方法wait方法内部做的第一件事就是释放锁,所以必须放到synchronized代码块内部来使用,只有先拿到锁才能释放。
2025-07-10 12:00:00
276
原创 死锁和volatile
上节内容说到死锁,但在Java中,一个线程针对一把锁连续加锁多次,不会触发死锁,这是因为Java具有可重入的特性,那么Java是如何做到可重入的?Java会让锁对象本身,记录下来拥有者是哪个线程(保存线程的Id)后续如果在针对这个对象加锁,就会先判定当前尝试加锁的线程是不是这个锁的线程,如果不是才会触发阻塞Java中的对象,除了有一个内存区域,保存程序员自定义的成员之外,还有一个隐藏的区域来保存对象头,对象头是JVM维护的用来的保存对象的一些其他运行信息的区域,如加锁状态等。
2025-07-08 21:13:57
378
原创 线程安全及synchronized关键字
针对同一把锁,连续加锁两次,正常情况下会造成死锁,但在Java中引入了“可重入机制”,有效避免了死锁情况,此时这个锁可以称为“可重入锁”本来 load add save 两个线程是穿插执行的,但是引入锁之后,就变成了串行执行,不再穿插。synchronized 通过这个关键字来使用锁,进入代码块就是加锁,出代码块就是解锁。核心思路:把修改操作变成原子的,也就是通过加锁的方式把一段代码打包成一个整体。只有当两个线程尝试竞争同一把锁才会产生阻塞,就看锁对象是不是同一个。括号中写的是锁对象,锁是谁无所谓。
2025-07-07 18:47:57
298
原创 JavaEE中的多线程(一)
join方法是线程等待的方法,哪个线程中调用的join,该线程就是等待的一方,join前面是那个引用,对应的线程就是被等待的一方,只要被等待的一方没有结束,join始终阻塞。对于cpu来说,每个指令都是执行的最基本单位,由于操作系统调度线程是随机的,某个线程执行到任意一个指令的时候都可能触发cpu的调度,这就使指令的执行顺序变得不可预测。指令是机器语言cpu执行的任务具体细节,cpu会一条一条读取指令,解析指令,执行指令。线程等待约定了两个线程结束的先后顺序,让后结束的线程阻塞,等待先结束的线程执行完。
2025-07-03 09:39:38
242
原创 JavaEE中的进程与线程
进程是操作系统中资源分配的基本单位PCB是进程控制块所谓创建进程:创建PCB变量,插入到链表中销毁进程:把链表中对应的PCB删除掉并释放查看任务管理器的进程列表:遍历链表,打印每个PCB的属性。
2025-07-02 10:00:00
304
原创 MySQL从入门到精通超详细版本,看这一篇就够了!
SQL(Structured Query Language)是结构化查询语言的简称,是一种数据库查询和程序设计语言,用于读取数据,以及查询、更新和管理关系数据库数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组等在关系型数据库的设计中,满足第一范式是对关系模式的基本要求,不满足第一范式的数据库就不能被称为关系数据库在满足第一范式的基础上,不存在非关键字段对任意候选键的部分函数依赖存在于表中定义了复合主键的情况下。
2025-05-29 15:31:51
4216
原创 数据结构与常用实现详解
2.如何用队列实现栈:单队列轮转法,每次入栈后立即反转队列元素,使得队列头部始终是最后加入的元素,入栈时将新元素加入队列尾部,将队列所有元素依次入队并重新入队,出栈时直接弹出队首(此时队首就是最后加入的元素)1.如何用栈实现队列:两个栈分工,输入栈in专门处理入队操作,输出栈out专门处理出队操作,入队时直接压入,出栈时若out为空,将in所有元素弹出并压入out,此时元素顺序被反转,再从out弹出栈顶。核心作用:在运行时动态获取类的信息,调用方法,操作字段,构造对象。层序遍历(队列实现)
2025-04-10 16:31:14
1666
原创 JavaSE核心知识点详解:从基础到进阶全面解析
/ 定义方法public int add(int a, int b) { // 访问修饰符 + 返回值 + 方法名 + 参数列表// 调用方法// 输出:8。
2025-03-15 18:00:09
1123
原创 Java基础项目之图书管理系统
这些类负责各自的业务逻辑,互不干扰,保持系统的独立性和清晰性。这部分是系统底层数据的表示,负责储存图书的核心信息。每种具体的操作都会通过实现该接口,来方便统一调用。
2025-03-14 16:04:44
1431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅