- 博客(41)
- 收藏
- 关注
原创 -性能测试
在测试过程中,它可以帮助测试⼈员观察并分析响应时间的实时平均值以及整体响应时间的⾛向。通过这⼀监听器,测试⼈员能够更直观地了解系统在不同时间点的响应性能,从⽽发现可能存在的性能问题或瓶颈。以登陆接⼝为例,当我们执⾏登陆接⼝的性能测试时,⼿动配置了⽤⼾名和密码为固定的username和 password,然⽽实际使⽤中不可能只有⼀个⽤⼾登陆,为了模拟更真实的登录环境,我们需要提供。JMeter测试报告是⼀个全⾯⽽详细的⽂档,它提供了关于测试执⾏结果的详细信息,帮助⽤⼾全⾯评估系统的性能并进⾏性能优化。
2026-05-30 15:39:58
249
原创 自动化测试
单元测试打底,接口测试为主,UI 自动化为辅,手动测试做补充。这样既能保证产品质量,又能让自动化投入获得最高回报。(由于方法的参数只有一个 所以需要用括号将By...和'...'组合成一个元组)不管你在哪个文件里右键点 “运行”,只有 runTest.py 里的代码会执行。然后实际上在企业中,⾃动化往往是“冰淇淋蛋筒反模式”程序想要打开web浏览器就需要安装web驱动(测试工作不仅仅包含测试执行阶段。测试主要由人工进行,自动化测试知识辅助。⾃动化的主要⽬的就是⽤来。当出现这些 代表配置好了。
2026-05-26 22:55:07
415
原创 测试相关概念
可以简单理解为甲⽅提出的需求,如果没有甲⽅,那么就是终端⽤⼾使⽤产品时必须要完成的任务。测试⼈员接到需求之后,要对需求进⾏分析和验证,从合理的需求中进⼀步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试⽤例。对于软件测试,可以从不同的⻆度加以分类,使开发者在软件开发过程中的不同层次、不同阶段对测试⼯作进⾏更好的执⾏和管理测试的分类⽅法。在程序不同地⽅设⽴检查点,检查程序的状态,以确定实际运⾏状态与预期状态是否⼀致。七个要素:符合标准和规范,直观性,⼀致性,灵活性,舒适性,正确性和实⽤性。
2026-05-21 11:28:55
416
原创 jvm java虚拟机
一.JVM 简介一.JVM 简介JVM是Java Virtual Machine的简称,意为Java虚拟机。虚拟机是指通过软件常⻅的虚拟机:JVM、VMwave、VirtualBox。JVM是⼀台被定制过的的计算机。程序在执⾏之前先要把java代码转换成字节码(class⽂件),JVM⾸先需要把字节码通过⼀定的⽅式把⽂件加载到内存中。
2026-04-28 12:03:59
470
原创 网络原理 网络编程
以下为UDP的特点: • ⽆连接 • 不可靠传输 • ⾯向数据报 • 有接收缓冲区,⽆发送缓冲区 • ⼤⼩受限:⼀次最多传输64k 对于数据报来说,可以简单的理解为,对于UDP协议来说,具有⽆连接,⾯向数据报的特征,即每次都是没有建⽴连接,并且⼀次发送全部 数据报,⼀次接收全部的数据报。,发送⼀块数据假如100个字节,必须⼀次发送,接收也必须⼀次接收100个字节,⽽不能分100次,每次接收1个字节。,流式数据的特征就是在IO流没有关闭的情况下,是⽆边界的数据,可以多次发送,也可以分开多次接收。
2026-04-21 14:25:12
429
原创 多线程(进阶)
偏向锁不是真的"加锁",只是给对象头中做⼀个"偏向锁的标记",记录这个锁属于哪个线程. 如果后续没有其他线程来竞争该锁,那么就不⽤进⾏其他同步操作了(避免了加锁解锁的开销) 如果后续有其他线程来竞争该锁(刚才已经在锁对象中记录了当前锁属于哪个线程了,很容易识别当前申请锁的线程是不是之前记录的线程),那就取消原来的偏向锁状态,进⼊⼀般的轻量级锁状态. 偏向锁本质上相当于"延迟加锁".能不加锁就不加锁,尽量来避免不必要的加锁开销. 但是该做的标记还是得做的,否则⽆法区分何时需要真正加锁.
2026-04-18 15:25:29
344
原创 多线程(初阶)
一.认识线程一.认识线程1.线程是什么⼀个线程就是⼀个.每个线程之间都可以按照顺序执⾏⾃⼰的代码.多个线程之间"同时"执⾏着多份代码.2.线程存在的意义⾸先,"并发编程"成为"刚需"• 单核CPU的发展遇到了瓶颈.要想提⾼算⼒,就需要多核CPU.⽽并发编程能更充分利⽤多核CPU 资源.• 有些任务场景需要"等待IO",为了让等待IO的时间能够去做⼀些其他的⼯作,也需要⽤到并发编程.其次,虽然多进程也能实现并发编程,但是线程⽐进程更轻量。
2026-04-17 20:13:42
470
原创 树--数据结构
=》左子树查找到就立马返回 不会遍历右子树。(7)二叉树的层序遍历=》队列记录。(1)二叉树的遍历=>递归+非递归。(9)前序中序遍历序列构造二叉树。4.二叉树相关数据结构题。=》每一层的最后一个节点。(11)二叉树创建字符串。b.自底向上的层序遍历。3.二叉树的基本操作。(2)另一棵树的子树。
2026-04-09 16:50:54
232
原创 常见排序算法
(Divide andConquer)的⼀个⾮常典型的应⽤。将已有序的⼦序列合并,得到完全有序的序列;堆排序(Heapsort)是指利⽤堆积树(堆)这种数据结构所设计的⼀种排序算法,它是选择排序的⼀ 种。这里array[low] <= temp 需要取到=的原因是为了避免死循环 low high都反复挪与基准值相同的。归并排序(MERGE-SORT)是建⽴在归并操作上的⼀种有效的排序算法,该算法是采⽤。:快排、归并、堆、希尔(能通过大数据):冒泡、选择、插入、希尔、堆、快排。:选择、希尔、堆、快排。
2026-04-04 16:58:31
404
原创 优先级队列(PriorityQueue)(堆(Heap))
2. ⽤剩余的N-K个元素依次与堆顶元素来⽐较,不满⾜则替换堆顶元素 将剩余N-K个元素依次与堆顶元素⽐完之后,堆中剩余的K个元素就是所求的前K个最⼩或者最⼤的元素。(注意:对于⾮完全⼆叉树,则不适合使⽤顺序⽅式进⾏存储,因为为了能够还原⼆叉树,空间中必须要存储空节点,就会导致空间利⽤率⽐较低。• 如果2*i+2⼩于节点个数,则节点i的右孩⼦下标为2*i+2,否则没有右孩⼦。• 如果i为0,则i表⽰的节点为根节点,否则i节点的双亲节点为(i-1)/2。前k个最⼩的元素,则建⼤堆。
2026-04-01 19:29:08
426
原创 图书管理系统
用于封装「用户 ID + 图书 ID」的组合键,方便记录借阅关系。:普通用户类,需要完善借阅、归还、查看借阅历史等业务方法。单例模式设计Scanner类和Library类。4.NormalUser类完善业务逻辑框架。2.ProxyUser类完善业务逻辑框架。3.AdminUser类完善业务逻辑框架。1.完善LibrarySystem类。(1)单例模式Scanner类。(2)单例模式Library类。7.移除上架超过 1 年的书籍。2.User模块的工厂模式。2.Library类的定义。
2026-03-25 19:46:36
67
原创 java模式
一.单例模式一.单例模式1.饿汉式2.懒汉式3.案例讲解二.工厂模式三.代理模式为目标对象(被代理者)提供一个 “代理对象”,由代理对象,并可以在访问前后添加额外逻辑(比如日志、权限校验、事务),而目标对象只需业务。。你(目标对象)想租房,但不想自己找房源、谈价格、签合同(额外逻辑),只专注于 “住房子”(核心业务);中介(代理对象)帮你完成所有额外操作,你只需通过中介就能租到房子,且中介可以在租房前后加自己的操作(比如收中介费、核验身份)。
2026-03-23 17:40:02
197
原创 特殊文件,日志
2.日志技术体系、Logback日志框架的概述。3.补充知识:约束XML文件的编写[仅了解]一.特殊文件:Properties属性文件。一.特殊文件:Properties属性文件。4.Logback设置日志级别*2.读取XML文件中的数据。3.Logback快速入门。二.特殊文件:XML文件。
2025-09-16 19:27:04
180
原创 IO流(二)
三.IO流-转换流(不同编码读取时会乱码)3.原始流、缓冲流的性能分析[重点]1.文件字符输入流-读字符数据进来。2.文件字符输出流-写字符数据出去。2.字符输出转换流(了解)七.补充知识:IO框架。六.IO流-序列化流。
2025-09-12 17:44:36
448
原创 Flie ,IO流(一)
(资源都会实现Autocloseable接口,都会有一个close方法,并且资源放到这里后用完之后,会被自动调用其close方法完成资源的释放操作。注意:这里只能放置资源对象(流对象),而不能放置普通变量。3.其他应用:文件搜索-非空文件夹删除-啤酒问题。2.常用方法1:判断文件类型、获取文件信息。3.文件字节输入流:一次读取完全部字节。1.文件字节输入流:每次读取一个字节。2.文件字节输入流:每次读取多个字节。3.常用方法2:创建文件、删除文件。4.文件字节输出流:写字节出去。三.前置知识:方法递归。
2025-09-10 19:12:09
885
原创 集合进阶二 (Set Map Steam流)
(像淡黄色行代码 可以set.stream()后点击Ctrl+Alt+v自动补全)键相同的时候才是新的覆盖旧的,这里是不同的键计算得到了相同的哈希值。工具类,而不是直接调用具体实现类的方法。4.Map集合案例-统计投票人数。1.Steam流常见的中间方法。2.Steam流常见的终结方法。8.集合的嵌套-案例:省和市。如果需要操作集合,优先考虑。2.Stream的常用方法。1.认识Stream。
2025-09-08 20:10:18
403
原创 python & mysql
一.Python执行SQL语句操作MySQL数据库软件。一.Python执行SQL语句操作MySQL数据库软件。二.Python执行SQL语句插入数据到MySQL。1.创建到mysql的数据库链接。
2025-09-07 17:03:46
234
原创 python基础案例-数据可视化
2.使用全局配置项设置属性(set_global_opts)3.pyecharts快速入门。2.pyecharts模块。1.构建一个基础的折线图。1.json数据格式。三.动态柱状图可视化。
2025-09-03 17:25:52
265
原创 python文件操作 异常 模块 包
(可选):指定读取的字符数(文本模式)或字节数(二进制模式)。返回值:字符串列表(文本模式)或字节对象列表(二进制模式)。返回值:返回字符串(文本模式)或字节对象(二进制模式)。返回值:返回字符串(文本模式)或字节对象(二进制模式)。(可选):限制返回列表的总字符数(若超过,按需截断)。,每行作为列表的一个元素(包含换行符)。4.文件的追加(a模式追加 而不是覆盖)3.文件的写入(w模式写入 有则覆盖)(2字节,若在基本多文种平面)(1)打开文件(open函数)(可选):限制读取的字符数(若。
2025-09-02 18:34:45
1114
原创 数据库进阶-锁 innoDB引擎 MYSQL管理
元数据锁在有活动事务时,还没提交,它会帮我们维护数据的一致性,增删改查和变更表结构互斥;可重复读(RR):事务A 第一次读时生成 ReadView,后续所有读复用同一 ReadView。但若事务A 在事务B 提交后 重新生成 ReadView(如 RC 隔离级别),则会看到最新版本(读已提交(RC):每次读都会生成新 ReadView,可能看到其他事务的提交结果。在 RR 隔离级别下,事务A 的 ReadView 仍认为。(即版本创建时,当前活跃事务尚未开始)。用于判断版本链中的哪个版本对事务A可见。
2025-08-06 21:41:45
652
原创 数据库进阶-SQL优化 视图 存储过程 触发器
有索引的时候锁住索引字段,没有索引的时候锁住整张表。解决方案:创建需要的排序的索引 如下。6.参数(IN OUT INOUT)2.检查选项(cascaded)11.游标(光标)-cursor。12.条件处理程序-handle。2.案例1(insert类型)3.案例2(update类型)4.案例3(delete类型)3.检查选项(local)3.order by优化。4.group by优化。3.变量-用户自定义变量。9.循环-repeat。order by语句。8.循环-while。10.循环-loop。
2025-07-31 20:01:53
563
原创 数据库进阶-存储引擎 索引
2.绿色方框起到索引作用 叶子节点(红色方框)起到存储作用所有叶节点包含所有关键字,叶节点将关键字按大小排列,并且相邻叶节点按大小顺序链连接起来,形成单向链表。(B+ 树中是叶子节点中的数据是单向链表,叶子节点之间是双向链表)蓝色区域为联合索引,最左前缀法则要求第一个字段必须存在,并且中间不能跳过某列。索引在引擎层 不同的索引会有不同的引擎层。与0345比较 大 放右边 右边也可以放下。查的少数走索引,查的多数不走索引。(5)覆盖索引&回表查询。(1)BTree索引。(7)单列&联合索引。
2025-07-24 21:57:45
1048
原创 数据库基础-函数 约束 多表查询 事务
B事务提交了插入了一个id为3的数据。随即在左边插入,发现已经存在id为3的数据,并且遵循可重复读原则,此时查询(读取)id为3的依旧为空,就出现了幻读。可重复读:一个事务只要自己不提交,就可以屏蔽其他事务的提交操作,保证该事务内部每次读取都一致。发现A事务中同样的sql查询出来的三次数据却不一致 即不可重复读问题。A事务没有提交时 不允许B事务进行更改(只允许一个事务在操作)A事务读取到了B事务还没提交的update操作 即脏读问题。这时id为4的数据已经被A事务加上 B事务报错。3.四大特性ACID。
2025-07-22 19:09:33
795
原创 数据库基础- SQL
四.DDL(数据定义)2.表操作 创建&查询。3.表操作 修改&删除。五.DML(数据操作)六.DQL(数据查询)七.DCL(数据控制)
2025-07-16 21:31:04
366
原创 集合进阶一(单列集合) 双指针算法
集合中存储的是元素的地址信息 直接输出想得到内容的话要重写toString方法。3.LinkedHashSet集合的底层原理(基于哈希表 双链表)4.LinkedList集合的底层原理(基于双链表)3.ArrayList集合的底层原理(基于数组)2.HashSet集合的底层原理(基于哈希表)七.Collection集合的使用总结。六.注意事项:集合的并发修改异常问题。三.Collection的遍历方式。一.Collection集合概述。一.Collection集合概述。4.案例:遍历集合中的自定义对象。
2025-05-15 18:17:19
404
原创 算法 正则表达式 异常
第一个\为了证明第二个\就是\,而第二个\为了证明此处是“.”(.在正则表达式里有特殊含义)Exception(所有异常的父类)5.用于搜索替换 分割内容。3.应用案例(判断合法)3.异常的两种处理方式。
2025-05-13 23:28:29
230
原创 常用api(二):Math、BigDecimal与Lambda实战
(4)直接把日期对象的时间通过setTime方法进行修改。(3)把时间毫秒值又转成日期对象:两秒之后的时间是多少。七.方法引用(进一步简化Lambda表达式)一.Math System Runtime。一.Math System Runtime。4.构造器引用(代码无实际意义 关注语法)(1)创建一个Date对象 拿到当前时间。3.Calendar(抽象类)三.传统时间 日期(了解)2.System(了解)四.***新增时间日期。六.Lambda表达式。1.Math(了解)(2)拿到时间毫秒值。
2025-05-06 11:33:19
398
原创 面向对象高级三:内部类 反射 枚举 泛型 java.lang包下常用API
(3)在成员内部类的实例方法中 可以直接访问外部类的成员。(4)在成员内部类的实例方法中访问三个位置不同值的变量。先创建外部类的对象 然后new成员内部类的对象。(2)静态内部类无论是实例方法还是静态方法只能。(2)当创建对象时不能直接给内部类创建对象。2.枚举的常见应用场景(做信息标志和分类)(1)成员内部类可以定义类的一切成员。四.java.lang包下常用API。(1)认识匿名内部类(本质是子类)(2)匿名内部类的使用场景。(3)nonNull方法。(1)equals方法。(2)isNull方法。
2025-04-30 18:08:49
1296
原创 面向对象高级二:多态 final 抽象类 接口
a.默认方法:可以带方法体 必须用default修饰 默认public 也是实例方法 要使用类的对象访问。b.私有方法:可以带方法体 必须用private修饰 也是实例方法 要使用类的对象访问。因为private 所以不能在其他类被调用 可以在test1里加上test2方法的调用。c.私有方法:可以带方法体 必须用static修饰 默认public。识别技巧:编译看左边 运行看右边(多态)编译阶段是谁的,运行阶段就是。编译看左边 运行看右边(变量)(1)接口中新增的三个方法。(3)使用接口的注意事项。
2025-04-22 17:28:22
401
原创 面向对象高级一:static 继承
5.static的应用知识:单例设计模式(避免浪费内存)4.static的应用知识:代码块(认识)(2)static修饰成员变量的应用场景。(2)static修饰成员方法的应用场景。1.static修饰成员变量及应用场景。ArrayList 直接输出时就是内容。(3)实例代码块特点(构造器前执行)(1)静态代码块特点(只执行一次)(2)静态代码块作用(初始化赋值)(4)实例代码块作用(初始化赋值)(1)static修饰成员变量。一.static(静态)一.static(静态)(2)方法重写的应用场景。
2025-04-21 17:34:22
699
原创 常用API(应用程序编程接口)
(2)字符串的存储数目(“...”出来的只有一个在常量池中,new出来的new了几次 堆内存就有几个)i=3.此时将从第三个位置元素“人字拖”开始删起,越过了本来第三个元素 现在是第二个元素的“黑枸杞”(new后面的ArrayList后 可以不写String)i=1.“Java入门”不含“枸杞”,不会进行删除,该集合元素不变。i=2.“宁夏枸杞”含“枸杞”,会删除该元素,集合内容变为。(1)String的对象是不可变字符串对象。3.String的应用案例1-用户登录。
2025-04-16 16:58:41
1435
原创 面向对象基础(oop)
二.对象在计算机中的执行原理。九.成员变量 局部变量的区别。隐藏成员变量 暴露成员方法。七.实体javabean。八.面向对象编程综合案例。三.类和对象的注意事项。2.this的执行原理。通过加this来访问。this调用成员变量。
2025-04-13 23:08:15
276
原创 Java案例
字符串比较中:==比较的是两个字符串对象的内存地址是否相同;equals比较的是两个字符串对象的内容是否相同。continue和return的区别(Java方法:return)代码实现2(为外部循环指定标签)(continue)1.打乱数组顺序(数组内的数字不会重复出现)四.数字加密(多个方法的调用)八.打印乘法表 打印三角形。七.找素数的三个做法。代码实现3(分治法)
2025-04-11 18:50:24
232
原创 Java方法
2.引用类型的参数传递***(传输存储的地址值)然后依次执行下面操作 执行完一个 清除一个。1.基本类型的参数传递(传输存储的数据值)b.比较两个int类型的数组是否相同。七.方法中单独使用return关键字。2.判断一个整数是奇数还是偶数。四.方法在计算机中的执行原理。a.打印int类型的数组内容。五.Java的参数传递机制。二.方法使用时的常见问题。先进行判断是否为null。
2025-03-31 22:41:31
386
原创 流程控制。
***5.跳转关键字 break continue。(for Tab补全键)3.do while循环。四.案例技术 生成随机数。1.random的应用。三.死循环 循环嵌套。
2025-03-25 23:00:29
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅