自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 Redis-set类型

命令操作时间复杂度批量添加元素时,时间复杂度与元素数量成正比。O(k),k 是添加的元素个数批量删除元素时,时间复杂度与元素数量成正比。O(k),k 是删除的元素个数SCARD key直接返回集合的基数(元素个数),无需遍历。O(1)基于哈希表实现,判断元素是否存在的时间为常数。O(1)若 count 为正,返回不重复元素;为负可能返回重复元素。O(n),n 是返回的元素数量随机移除并返回元素,性能与数量相关。O(n),n 是弹出的元素数量。

2025-04-05 16:27:44 949

原创 Redis-list类型

操作命令时间复杂度添加O(k),k 是插入的元素个数O(k),k 是插入的元素个数O(n),n 是 pivot 距离头或尾的偏移量查找O(s + n),s 是 start 偏移量,n 是范围长度O(n),n 是索引的偏移量llen keyO(1)删除lpop keyO(1)rpop keyO(1)O(k),k 是列表元素个数(需遍历)O(k),k 是需保留的元素个数修改O(n),n 是索引的偏移量阻塞版O(1)O(1)

2025-04-05 14:53:19 541

原创 Redis-Hash类型

命令执行结果时间复杂度设置值O(1)获取值O(1)删除fieldO(k), k是field个数hlen key计算field个数O(1)获取所有的field-valueO(k), k是field个数批量获取field-valueO(k), k是field个数批量设置field-valueO(k), k是field个数判断field是否存在O(1)hkeys key获取所有的fieldO(k), k是field个数hvals key获取所有的value。

2025-04-05 12:50:32 844

原创 Redis-string类型

将 key 对应的 string 表示的浮点数加上对应的值,如果对应的值是负数,就会被视为减去对应的值,如果 key 不存在,就会被视为 key 对应的 value 是 0 ,如果 key 对应的不是 string ,或者不是一个浮点数,就会报错。将 key 对应的 string 表示的数字减去对应的值,如果 key 不存在,就会被视为 key 对应的 value 是 0 ,如果 key 对应的 string 不是一个整型或者范围超过了 64 位有符号整型,就会报错。

2025-04-04 09:00:00 1221

原创 Redis-通用命令

通用命令实际上也是要对Redis里面的对象进行操作的,那么我们在了解通用命令之前,要先了解怎么在Redis中创建一个基本的对象。在学会基本的创建获取之后,此时我们就可以对Redis中的对象进行创建,我们就可以学习全局命令了。返回值: 剩余的时间 -1 表示没有设置过过期时间, -2 表示 key 不存在。使用 redis-cli 可以进行连接,同时有两种连接方式,连接之后使用。这个指令是用来创建对象的,创建的对象是类似于哈希表那样的键值对。当然,我们也可以通过指令,一次性获取多个键的值。

2025-04-02 09:30:00 1528 2

原创 python文件具体操作

python的一些基本文件操作

2025-04-02 00:30:00 875

原创 列表、元组、字典

python的较复杂数据类型,列表/元组/字典

2025-04-01 10:00:00 663

原创 python函数使用

其实这里的函数,和我们其他语言的方法是一样的,同时我们也可以使用数学的函数来类比所以这里的函数也就是: 可以被重复使用的代码片段(缩进整个代码块)让我们来举一个例子:如果我们此时有三组数,我们要求每一组数的总和,并将这三个结果进行输出,如果不使用函数的话,代码就如下:这些代码里面有很多重复的语句,我们就可以将这些语句进行整合他们的结果是一样的函数定义的时候是不会运行函数里面的代码的,只有当函数被调用的时候,才会运行但是函数的定义,也可能没有形参列表调用函数同时在调用函数之前

2025-04-01 00:30:00 994

原创 条件语句与循环

条件语句,循环,判断

2025-03-31 08:00:00 649

原创 python基本语法

变量设置,注释,输入输出,运算符

2025-03-31 00:30:00 1017

原创 Map和Set

在学习Map和Set之前,常见的搜索方式有:直接遍历: 时间复杂度为O(N),当待遍历元素较多时,效率就会下降二分查找: 时间复杂度为O(log_2N),但是在进行搜索前要保证数据能够按照某种规律分为两部分。

2025-03-17 17:23:01 1153

原创 LinkedList和链表

在我们学习ArrayList时,就发现ArrayList有一定缺陷:在插入或删除任意元素时,就需要将该元素的后序所有元素向后移或者向前移,这样的时间复杂度为: O(N)所以ArrayList不适合做任意位置的多次插入和删除操作所以我们又引入了链式存储结构,即链表。

2025-03-17 15:09:13 1454

原创 ArrayList

由一组具有相同数据类型的元素组成的有序序列。

2025-03-16 17:36:27 806

原创 网络通信基本

用于规定通信实体之间进行数据交换的规则、标准和约定的集合,同时网络协议定义了数据格式、传输顺序、错误处理、流量控制等方面的内容,用来确保不同设备之间能够有效地进行通信协议最终体现为在网络上传输的数据包的格式。

2025-03-16 14:55:39 579

原创 网络基本学习(测开必备知识)

是一种工作在。

2025-03-16 13:43:32 889

原创 Linux基本指令(测试专项)

以下指令是作为测试人员经常使用的Linux指令,此处使用的是 Ubuntu系统,其他系统的对应指令可能会有一些不完全一致同时也只是一部分指令,并不完全。

2025-03-13 07:00:00 1533

原创 搜索树(概念及操作)

cur 不为 root, cur是parent.right,所以parent.right = cur.right。cur 不为 root, cur是parent.right,所以parent.right = cur.left。cur 不为 root, cur是parent.left,所以parent.left = cur.right。cur 不为 root, cur是parent.left,所以parent.left = cur.left。cur为被删除节点,parent为被删除节点的父节点。

2025-03-13 06:30:00 645

原创 泛型初阶篇

在认识泛型之前我们要先知道包装类在Java中,基本类型并不是继承自 Object 类,为了在泛型代码中可以支持基本类型,Java就使用了包装类来对应基本类型基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean。

2025-03-12 08:00:00 875

原创 文件操作(IO)

首先,什么是文件?怎样才算是文件?从广义上来看: 在操作系统中,将很多资源(硬件资源/软件资源)抽象成文件从狭义上来看: 平时保存在硬盘上的资源也就是说,针对硬盘这种持久存储的I/O设备进行数据保存时,往往不是保存为一个整体,而是保存为一个个独立的单位,此时这些独立的单位就被抽象为文件的概念了我们抽象比喻一下:同时文件处理有数据内容之外,还会有一部分信息,比如文件名、文件类型、文件大小等并不作为文件内容数据存在,所以这一部分就叫做文件的元信息。

2025-03-12 07:00:00 847

原创 栈和队列(基础使用方法)

这里只介绍基础方法以及使用。

2025-03-11 11:00:35 582

原创 synchronized和volatile

用于实现线程同步,确保多个线程在访问共享资源时的线程安全。它可以修饰方法或代码块,保证同一时刻只有一个线程执行被修饰的代码我们对使用锁的情况举一个例子: 使用ATM取款对于一个ATM机,只能由一个人使用,同时有些ATM机会有一个独立的空间,当发现里面有人进行操作时,就无法从外部打开,那么就代表这一台ATM机被上了锁,只有里面的人能够使用,里面的人出来之后,其他人才能使用。

2025-03-11 09:48:54 990

原创 Lambda表达式

是Java 8引入的一种简洁的匿名函数表示方式,主要用于简化函数式接口的实现。

2025-03-10 15:51:00 1034

原创 反射和枚举

用来将一组常量组织起来,在这之前表示一组常量通常使用定义常量的方式普通的常量定义方式但是这样就代表,常量名和常量值很可能就绑定了(输入常量值可能会被误以为是常量名),我们使用枚举来组织的话,就能拥有枚举类型这样我们就可以将常量组织起来管理本质上是一个 java.lang.Enum 的子类,也就是说,我们自己定义的枚举类也是默认继承了这个类的不过要注意的是,我们要创建的是 Enum 类。

2025-03-10 14:02:43 1219

原创 线程安全问题(面试重难点)

这里只是简单介绍以下线程安全,具体情况要结合代码进行判断线程 是随机调度,及抢占式执行,具有随机性,就可能会让我们的结果出现不同当我们得到的结果并不是我们想要的时候(不符合需求),就会被认定为BUG,此时就是出现了线程安全问题那么存在线程不安全的代码就被认为是 "线程不安全"

2025-03-09 19:55:16 1120

原创 线程的状态

对于这个状态我们要清楚的一点是,并不是说进入这个状态就代表了会立马进行执行,而是说,线程被改为了可以启动的状态,但是有可能是在排队等待叫号,那么具体什么时候被叫到则要看调度器的调度(也就是排队)同时我们可以通过 isAlive() 方法,得出:只要不是处于 NEW 和 TERMINATED 状态的线程状态都是活着的。TIMED_WAITING 线程表示等待唤醒但设置了等待时间, WAITING 表示线程无限制等待唤醒。以上介绍的状态之间是可以进行转换的,让我们通过画图来举例子。排队等待其他事情完成。

2025-03-09 16:01:52 397

原创 线程的常见使用方法

Java中的线程并不是真正意义的线程,我们使用的是Thread类来表示线程,而这个类是 JVM 用来管理线程的一个类,也就是说,每个线程都有一个唯一的 Thread对象 与之关联每一个执行流都需要有一个对象来进行描述,那么一个Thread对象就是用来表述一个线程执行流的,JVM会将这些对象统一起来管理,方便线程调度。

2025-03-08 23:19:36 1025

原创 初步认识线程

同时,我们让A和B分别负责组装的一部分(比如一个负责车身,一个负责引擎),这样他们只需要培训他们负责的部分就可以了,培训成本就节省了。同时,我们让A和B分别负责组装的一部分(比如一个负责车身,一个负责引擎),这样他们只需要培训他们负责的部分就可以了,培训成本就节省了。当一个组装人员来完成这个任务时,我们需要很长的时间,于是此时,我们另外又聘请了一位组装人员B,B和A一样,分配了一个组装台,需要自己组装完整的车,在这种共同执行的条件下,每个人只需要组装50台车就可以完成任务。

2025-03-08 19:17:07 575

原创 互动平台测试(黑盒+白盒+性能)

随着数字经济的发展,企业愈发重视通过数字化手段提升客户参与度与品牌影响力。在此背景下,抽奖 活动作为一种高效的互动营销方式,能够有效增强用户粘性并扩大品牌曝光。基于这一需求,我设计并开发了 一个基于Spring Boot的抽奖活动管理平台。该平台旨在为企业提供一套功能较完善且易于扩展的解决方案, 助力企业实现精准营销与用户运营。

2025-03-07 14:59:05 1006

原创 开发者社区测试报告(功能测试+性能测试)

总体性能总请求数为6000,所有请求均成功执行,错误率为0.00%。平均响应时间为5.20毫秒,最小响应时间为0毫秒,最大响应时间为133毫秒。网络吞吐量为512.30 KiB/s,接收数据量为4521.95 KiB,发送数据量为113.35 KiB。各请求类型的性能发起帖子:平均响应时间为10.06毫秒,最大响应时间为32毫秒。:平均响应时间为5.10毫秒,最大响应时间为13毫秒。登出:平均响应时间为1.06毫秒,是所有请求中最快的。登录:平均响应时间为2.83毫秒,最大响应时间为36毫秒。

2025-03-06 18:15:39 1112

原创 二叉树基础

二叉树的基础

2025-03-05 20:11:36 733

原创 使用JMeter(组件详细介绍+使用方式及步骤)

有时我们只想在固定的场景下使用参数,并且改动后不希望影响其他的脚本需要结合json操作符使用方法: 在 HTTP 请求的取样器中引入定义的变量 ${参数名}使用场景: 变量需要在多个脚本中使用,方便进行统一管理和修改,尤其是多个请求的变量都是同一变量时,就可以进行统一管理。

2025-03-05 15:17:11 1917

原创 安装性能测试工具(JMeter)

下载压缩包,并解压,放入自己能够找到的路径链接: https://pan.baidu.com/s/14EEiJHS_bWUeIGbfzYVxqw?pwd=729b 提取码: 729b。

2025-03-05 03:00:00 291

原创 性能测试概念

基准测试:提供性能参考,用于比较不同系统或组件的性能。并发测试:检查系统在多用户或多进程同时操作时的表现。负载测试:评估系统在正常或峰值负载下的性能。压力测试:找出系统的极限,观察其在极端条件下的表现。稳定性测试:确保系统在长时间运行中的稳定性。

2025-03-04 15:08:08 793

原创 自动化测试基本步骤(简易版)

以下是我要进行测试的界面就是一个简单的登录操作,以及检查页面的操作接下来我们就开始正式的测试。

2025-03-04 12:40:53 330

原创 链表常用技巧和操作总结

画图: 用笔是肯定比只用脑子强的,画图会更加清晰引入虚拟头节点:便于处理边界: 如果没有头节点,也就是第一个节点就有有效数据,就需要考虑边界问题方便对链表进行操作大胆使用空间,定义变量: 一定不能让链表断开,一定要有节点指向后一节点重点使用快慢指针判断链表是否有环找链表中环的入口倒数第 n 个节点。

2025-03-03 17:24:02 335

原创 快排优化(使用三指针)

使用三指针对数组进行排序的重点是,每一个指针表示什么同时,由三个指针分成的四部分分别表示什么以及循环的退出条件,以及怎么进行分组再排序。

2025-03-03 10:10:05 979

原创 自动化测试的常用函数操作

在开始之前,我们需要先初始化一个驱动程序,以便后续操作。

2025-03-02 17:48:42 1073

原创 自动化测试无法启动(java.net.SocketException)

网络问题: 因为需要从GitHub上下载对应包,所以有时候可能会出现网络问题,这个时候可以打开VPN之后,重新对程序进行启动。浏览器版本过高,导致webdrivermanager中没有对应版本的驱动,此时可以改用 5.9.2及以上的版本重新尝试。下载之后放入本地路径(要保证你能找到),路径中最好不要出现特殊字符(我直接将他放进了我的maven文件中)在运行测试代码,对浏览器进行自动化操作时,遇到了以下问题,添加依赖,编写了测试代码,但是程序无法运行。因为原网站的问题,这个网址需要使用VPN来下载。

2025-02-28 19:00:03 427

原创 自动化测试概念

在我们的生活中,已经有了很多自动化的例子,比如自动牙刷、自动闸门这些自动化的设计不仅减少了人力的消耗,同时也提高了生活的质量同时软件的自动化测试也是一样的,也是为了减少人力的消耗,并且提高软件测试的质量和效率而自动化的主要目的就是用来进行回归测试的。

2025-02-28 16:07:33 863

原创 测试的基本分类

举个例子来介绍以上介绍的测试:假设我们现在要装修房子单元测试: 在开始进行装修前,我们要先去购买装修要用的材料,并对材料进行测试,尤其是要辨别材料的构成以及使用这种材料是否安全等等集成测试: 购买完材料之后,就可以进行装修了,装修完后,会对整个房子进行初步的检验,比如是否漏水,瓷砖是否铺设凹凸不平等等系统测试:当通过了集成测试之后,不代表住户就能入住了,装修公司就会请负责人来进行检验,检验通过之后才会通知住户房屋装修完成验收测试: 此时就代表房屋装修完毕,用户就可以验收装修好的房屋了,看看装修是否满意。

2025-02-28 14:04:50 1091

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除