- 博客(38)
- 收藏
- 关注
原创 性能测试基础概念
1.什么是性能测试1.什么是性能测试法拉利和长安虽然都是车,但是在性能上确存在着很大的差异。概念:为了发现系统性能问题或获取系统性能相关指标⽽进⾏的测试。比如:查询数据时间过⻓,⽹速很慢,服务器⽆响应,查询数据很⻓时间才显⽰列表。2.常⻅性能测试指标并发⽤⼾数响应时间:应⽤系统从请求发出开始,到客⼾端接收到最后⼀个字节数据所消耗的时间TPS:每秒处理事务数,⽤于衡量系统在⼀定时间内能够处理的事务数(计算公式:总的事务数 / 总的运⾏时间)
2024-11-29 13:09:50
315
原创 ⾃动化测试常⽤函数
web⾃动化测试的操作核⼼是能够找到⻚⾯对应的元素,然后才能对元素进⾏具体的操作。选择器的功能:选中⻚⾯中指定的标签元素选择器的种类分为基础选择器和复合选择器,常⻅的元素定位⽅式可以通过id选择器和⼦类选择器来 进⾏定位。定位百度⾸⻚的“百度热搜”元素,可以使⽤通过id选择器和⼦类选择器进⾏定位:#s-hotsearch1.2 xpathXML路径语⾔,不仅可以在XML⽂件中查找信息,还可以在HTML中选取节点。语法:1.2.1 获取HTML⻚⾯所有的节点//*
2024-11-27 11:50:24
753
原创 优先级队列(堆)
但有些情况下,比如:在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话,一般来说这种情况有点烦深有体会)在这种情况下,。这种数 据结构就是JDK1.8中的,而堆实际就是在完全二叉树的基础上进行了一些调整。2.1堆的概念如果有一个关键码的集合K = {k0k1k2kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一 个一维数组中,并满足:且且Ki >=12…,则称为 小堆或大 堆。将根节点最大的堆叫做最大堆或大根堆(其他得。
2024-10-16 20:13:35
721
3
原创 二叉树的基础知识
树是一种的数据结构,它是由nn>=0)个有限结点组成一个具有层次关系的集合。。它具有以下的特点:有一个特殊的结点,称为根结点,根结点没有前驱结点树是递归定义的。除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1T2......Tm,其中每一个集合Ti (1 <= i <= m) 又是一棵与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继:一个结点含有子树的个数称为该结点的度;如上图:A的度为6:一棵树中,所有结点度的最大值称为树的度;
2024-10-12 18:34:33
1124
原创 Java异常
程序先执行try中的代码如果try中的代码出现异常就会结束try中的代码看和catch中的异常类型是否匹配如果找到匹配的异常类型就会执行catch中的代码如果没有找到匹配的异常类型, 就会将异常向上传递到上层调用者无论是否找到匹配的异常类型, finally中的代码都会被执行到在该方法结束之前执行).如果上层调用者也没有处理的了异常就继续向上传递. 一直到 main方法也没有合适的代码处理异常就会交给JVM来进行处理此时程序就会异常终止。
2024-10-09 21:18:17
1022
原创 栈和队列基础
一种特殊的线性表,其。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO)的原则。压栈:栈的插入操作叫做进栈压栈入栈,。出栈:栈的删除操作叫做出栈。
2024-08-28 15:27:00
523
原创 List基础介绍
Collection是一个接口,该接口中规范了后序容器中常用的一些方法Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历的List是一个接口,继承自CollectionList就是一个线性表,即n个具有相同类型元素的有限序列,在该序列上可以执行增删 改查以及 变量等操作。List常用的方法List的使用List是个接口,并不能直接用来实例化。如果要使用,必须去实例化List的实现类。在集合框架中,ArrayList和LinkedList。
2024-08-27 15:26:01
323
原创 认识泛型VS包装类
class Point{ // 此处可以随便写标识符号,T是type的简称// var的类型由T指定,即:由外部指定public T getVar(){ // 返回值的类型由外部决定return var;public void setVar(T var){ // 设置的类型也由外部决定// 里面的var类型为String类型// 设置字符串// 取得字符串的长度多元泛型class Notepad{ // 此处指定了两个泛型类型// 此变量的类型由外部决定。
2024-08-23 16:57:41
631
原创 时间和空间复杂度
2. 在修改后的运行次数函数中,只保留最高阶项。空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。3. 如果最高阶存在且系数不是。个栈帧,每个栈帧使用了常数个空间。使用了常数个额外空间,所以空间复杂度为。取代运行时间中的所有加法常数。,则去除与这个项相乘的系数。- 看一些简单的示例理解一下。时间复杂度一般看最坏,时间。阶方法知道,时间复杂度为。阶方法,时间复杂度为。个空间,空间复杂度为。
2024-08-23 11:13:37
903
1
原创 MyBatis 操作数据库(进阶)
注册分为两种字段:必填字段和⾮必填字段,那如果在添加⽤⼾的时候有不确定的字段传⼊,程序应 该如何实现呢?<where> 只会在⼦元素有内容的情况下才插⼊where⼦句,⽽且会⾃动去除⼦句的开头的AND或 OR。:动态的在SQL语句中插⼊set关键字,并会删掉额外的逗号. (⽤于update语句中)如果有多个字段,⼀般考虑使⽤标签结 合标签,对多个字段都采取动态⽣成的⽅式。prefix:表⽰整个语句块,以prefix的值作为前缀。suffix:表⽰整个语句块,以suffix的值作为后缀。
2024-08-17 22:11:45
828
原创 MyBatis基础操作
MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发总结:简单来说 MyBatis 是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库⼯具。
2024-08-16 11:14:17
754
原创 SpringBoot 配置⽂件
配置⽂件主要是为了解决硬编码带来的问题, 把可能会发⽣改变的信息, 放在⼀个集中的地⽅, 当我们启 动某个程序时, 应⽤程序从配置⽂件中读取数据, 并加载运⾏.计算机上有数以千计的配置⽂件, 我们使⽤的绝⼤多数软件, ⽐如浏览器, 微信, Idea, 甚⾄电脑, ⼿机, 都 离不开配置⽂件.properties 配置⽂件是最早期的配置⽂件格式,也是创建 SpringBoot 项⽬默认的配置⽂件。不同的⽤⼾有不同的偏好, 我们可以把⼿机字体的⼤⼩放在配置⽂件中, 当程序启动时, 读取配。
2024-07-14 12:13:42
1570
原创 Spring IoC&DI
此时,我们只需要将原来由⾃⼰创建的下级类,改为传递的⽅式(也就是注⼊的⽅式),因为我们不 需要在当前类中创建下级类了,所以下级类即使发⽣变化(创建或减少参数),当前类本⾝也⽆需修 改任何代码,这样就完成了程序的解耦.先设计汽⻋的⼤概样⼦,然后根据汽⻋的样⼦来设计⻋⾝,根据⻋⾝来设计 底盘,最后根据底盘来设计轮⼦. 这时候,依赖关系就倒置过来了:轮⼦依赖底盘, 底盘依赖⻋⾝, ⻋⾝依赖汽⻋。1.Spring bean是Spring框架在运⾏时管理的对象, Spring会给管理的对象起⼀个名字.
2024-07-13 22:07:23
1517
原创 初识Spring Web MVC
MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分为模型、视图和控制器三个基本部分• View(视图) 指在应⽤程序中专⻔⽤来与浏览器进⾏交互,展⽰数据的资源.• Model(模型) 是应⽤程序的主体部分,⽤来处理程序中数据逻辑的部分.• Controller(控制器)可以理解为⼀个分发器,⽤来决定对于视图发来的请求,需要⽤哪⼀个模型来处理,以及处理完后需要跳回到哪⼀个视图。即⽤来连接视图和模型。
2024-07-12 20:33:17
1867
2
原创 JAVA入门基础知识点(入门到学废1.5)
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异常结构.例如, 我们实现一个用户登陆功能.if (!if (!System.out.println("登陆成功");此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.具体方式:1. 自定义异常类,然后继承自Exception 或者 RunTimeException。
2024-06-28 20:35:58
450
原创 JAVA入门基础知识点(入门到学废1.4)
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异结构.例如, 我们实现一个用户登陆功能.if (!if (!System.out.println("登陆成功");此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.具体方式:1. 自定义异常类,然后继承自Exception 或者 RunTimeException。
2024-06-28 10:50:23
882
原创 JAVA入门基础知识点(入门到学废1.3)
在Java中,类和类之间是单继承的,一个类可以实现多个接口,接口与接口之间可以多继承。接口中每一个方法都是public的抽象方法, 即接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)核心区别: 抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写), 而接口中 不能包含普通方法, 子类必须重写所有的抽象方法。接口中的方法是不能在接口中实现的,只能由实现接口的类来实现。
2024-06-27 22:50:32
897
原创 JAVA入门基础知识点(入门到学废1.2)
在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对 象,是所有对象所共享的。如果数组中存储元素类型为基类类型,默认值为基类类型对应的默认值。数组对象.length获取数组长度。修饰符 类名 (形参列表){数组的访问,通过下标。【静态成员变量特性】
2024-06-24 10:21:15
953
原创 IDEA 出现Unable to resolve column ‘userName‘解决办法
IDEA 出现Unable to resolve column 'userName'解决办法
2024-06-12 09:36:25
587
2
原创 ArrayList与顺序表
在集合框架中,List是一个接口,继承自Collection。从数据结构的角度来说,List就是一个线性表,即n个具有相同类型元素的有限序列,在该序列上可以执行增删 改查以及变量等操作。下面是一些比较常用的方法方法解释尾插 e将 e 插入到 index 位置尾插 c 中的元素删除 index 位置元素删除遇到的第一个 o获取下标 index 位置元素将下标 index 位置元素设置为 element清空判断 o 是否在线性表中返回第一个 o 所在下标返回最后一个 o 的下标。
2024-05-17 16:23:38
577
1
原创 java多线程
有时,我们需要等待⼀个线程完成它的⼯作后,才能进⾏⾃⼰的下⼀步⼯作。例如,排队的时候只有等前面的人离开了我们才能再上去(当然你也可以非常粗暴的插队,但是不建议)。• 其他线程调⽤该等待线程的 interrupted ⽅法, 导致 wait 抛出 InterruptedException 异常.t1执行完过后内存中count的值为1,t2继续读取内存中的值进行自增操作,此时count的值为2。ps:看不懂线程的创建方式可以看我的上一篇文章,有详细的介绍。多个线程的执行顺序是不确定的(随机调度,抢占式执行)
2024-05-10 16:42:28
1139
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人