自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用例设计-微信发红包

1、输入正确的金额,正确的祝福语,给单人发红包,支付成功发送红包后,好友能够正常接收。2、输入正确的金额,正确的祝福语,群发红包,支付成功发送红包后,好友能够正常接收。14、红包说明可以支持添加表情包,好友收到红包后,红包说明和表情均能正确展示。2、不同屏幕,不同分辨率设备,红包能够正常发送红包,红包页面元素能够正常展示。10、输入金额为0时,点击支付,提示金额不能为0。20、账户扣款失败,红包发送失败,提示响应的提示。8、输入金额超过红包上限,提示已达到红包上限。5、金额输入项如果为空时,不能发送红包。

2024-04-16 12:07:24 533

原创 用例设计-抖音视频上下滑动用例

3、验证上下互动拉取资源接口是否存在sql注入的风险,一次性不能拉取过多资源,防止用户恶意攻击。1、正常速度下滑,视频类、图片类、直播类资源能够正常展示。9、下滑屏幕,资源已经被下架时,提示资源被下架,不能播放。3、正常上下滑动时,手机的耗电不能过快,内存占用不能过高。1、对于用户设置隐私不可见的资源,上下滑动屏幕不能被拉到。11、多个人下滑同时拉到同一个资源,资源能够正常展示。1、断网情况下滑,已经加载到本地的资源能够正常展示。3、下滑没有可加载的资源时,提示用户无新的资源。

2024-04-15 16:33:35 962

原创 测试用例设计-购物车

1、商品添加到购物车->选中添加的商品->点击结算->支付成功,验证购物车中订单是否清楚。2、android 10,7,ios9、10,wind、mac系统不同版本功能正常使用。2、模拟高峰期,访问购物车,提交结算等主流场景,验证服务器cpu占用率、磁盘占用率。8、提交购物车商品结算时,模拟商品与用户信息不一致的场景,接口应该限制提交。2、修改接口传入参数,模拟商品数量和金额不一致时,订单是否能够正常提交,4、选中不同的商品进行结算时,商品的总额正确计算。6、结算时候,商家商品已经下架,提示商品已经下架。

2024-04-15 15:32:09 1196

原创 测试用例设计-百度首页

1、文本,图片、语音三种不同的搜索方式输入敏感词汇进行搜索,进行脱敏,或其他特殊处理。2、top n使用量的浏览器不同版本,页面展示正常,搜索功能正常展示。3、大量用户搜索,模拟搜索高峰期,验证服务器cpu、磁盘的占用情况。3、win、mac不同系统设备内容正确展示,搜索功能正确展示。1、文本搜索方式输入过长文本,进行搜索,内容自动截断。4、不同网络环境下,页面正常加载,搜索功能正确展示。5、传入正确的图片进行搜索,返回正确的内容。2、输入不存在内容的文本,进行搜索。1、文字方式搜索,搜索存在的内容。

2024-04-15 14:55:24 490

原创 测试开发java面试题

equals:Object中默认的同样是 ==比较,那为什么我们平时使用string类的成员方法equals,对比的是值呢,其实是很多类中重写了Object类中的equals。以String类为例,我们从源码可以看到重写的方法,本质也是对比字符串哪一个字符。==:对比的是栈的值,由于不通类型数据存放位置不同,基本数据类型对比的是变量值,对比引用类型时,对比的其实是堆内存的地址。

2024-04-11 12:39:50 110

原创 String、StringBuffer和StringBuilder类的区别

我们进入stringbuffer源码可以能清楚的看到,stringbuffer类的方法均被synchronized修饰,所以stringbuffer是线程安全的。stringbuilder没有sychronized修饰,所以线程是不安全的,但是与stringbuffer相同的是每个stringbuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串的长度大于容量时会自动扩容。首先我们先看下这个类的继承图。string对象一旦被创建不能修改,底层维护的是一个字符串常量池。

2024-04-01 11:22:07 199

原创 volatile和synchronized

volatile和synchronized这两个关键词的作用和原理面试的时候经常会被问到,那么我们今天就放在一起聊聊这两个关键词。

2024-04-01 10:49:41 864

原创 一篇文章搞清楚线程

什么是线程?这个问题应该是面试中经常被问的问题。那么今天趁时间梳理下线程的相关知识。

2024-02-01 20:08:11 359

原创 spring框架面试题总结

相对应地非检查异常就是在运行时抛出的异常,比如空指针,数组越界等就是非检查异常。2、线程安全:不是线程安全的,因为一般在spring的bean中注入的都是无状态的对象(不能修改的对象如:@Autowired修饰的对象),这种是线程安全的,但是如果在bean中定义了可修改的成员变量,就会存在线程安全的问题,需要加锁处理。1、单例:spring框架bean是单例的,因为spring框架中注解@Scope默认是singleton,单例的,当然如果把默认的值改为prototype的话,一个bean就会有多个实例;

2024-01-25 20:02:41 336

原创 mysql的一些总结

索引本质是为了满足高效查询数据的一种数据结构。数据库中的索引分为很多种,InnoDB中采用的是B+树。在讲B+树前我们先来了解下其他的索引。

2024-01-11 18:24:59 884

原创 mac M1部署minio无法访问

今天使用mac安装网上步骤部署minio时,发现无法启动。后使用这个命令成功启动,记录一下,以免后续有用。

2023-12-28 16:03:49 457

原创 内存泄漏与内存溢出

*内存泄漏(memory leak):**程序中如果一个对象或者变量已经不被使用,但是仍然在内存中占据着空间不释放,这个现象称之为内存泄漏。这些集合如果为静态的,他们的生命周期与程序一致,集合中的对象在程序结束之前不能被释放,从而会造成内存泄漏。**内存溢出(out of memory):**内存泄漏发生的积累后,会出现程序在申请内存时,没有足够的内存空间释放,就会发生内存溢出现象。2、数据库连接、io连接等这些连接没有及时的关闭,在此内存泄漏。1、内存泄漏长时间会造成程序卡顿,性能降低。

2023-12-28 14:54:50 379

原创 Cookie和Session、Token的一些理解

2、客户端通过响应头中的set-cookie中返回的seesionid,将sessionid存储在浏览器cookie中,(在这个过程中设置的cookie的过期时间,如果设置过期时间,cookie会到设置的时间过期,如果没有设置此次会话结束,cookie也就过期)cookie、session、token,是我们工作中经常接触,但是具体什么区别,原理是什么,可能不太清楚。4、服务端判断cookie中的sessionid是否是合法的,如果不合法,返回错误提示,如果合法继续后续的逻辑,并返回最终的响应结果。

2023-12-26 14:56:26 910

原创 浅谈浏览器输入url后发生了什么

当浏览器输入url时,浏览器先去本地寻找是否配置了hosts,本地是否有对应的ip。如果找不到对应域名的ip,继续去dns服务器找到,找到对应的ip后,浏览器得到对应的ip后,就开始与服务器创建链接。4、服务器根据请求,开始内部逻辑处理,可能会涉及到数据库等,最后将处理后的数据以http或https的形式返回给客户端。浏览器与服务器通过三次握手的方式,创建链接。三种握手方式可以参考我前面的“TCP与UDP的区别“5、浏览器接受到数据后,可是渲染,页面完全渲染完毕后,就是最后的断开连接。

2023-12-13 16:36:24 41

原创 浅谈Http和Https

HTPPS:超文本传输安全协议,在http的基础上加入了ssl协议,相较于http协议更加安全。HTTP:超文本传输协议,以明文传输的方式作为客户端和服务器之间交互的协议。二、http和https的区别。三、HTPPS工作原理。

2023-12-12 20:03:28 33

原创 认识java集合

Java的集合主要有两种,由Collection和map两个接口派生出来,Collection接口下有List、Set、Queue三种,存放单一的数据;Map接口下有HashMap、HashTable、SortedMap三种,以key-value的形式存放数据。如下图是集合的继承关系。

2023-11-23 18:11:24 334

原创 TCP与UDP的区别

简单的说就好像你给女朋友写信,写完信后邮寄出去至于女朋友是否收到信息,你不关心(UDP协议就像是这个过程,数据通过网卡发出后就不关心后续数据的传输了);如下图,当客户端要建立连接时,会先给服务端发送一个SYN数据包,询问是否可以建立连接,如果可以建立连接,则给客户端发送一个带有ACK的数据包,回复客户端可以建立连接,客户端收到可以创建连接的消息后,再给服务端发送一个SYN数据包,完成连接的建立。客户端接受到服务端的数据包后,做出应答,发送一个带ACK的数据包,服务端接受到这个答复后,直接断开连接。

2023-11-22 21:40:56 329

原创 redis知识体系

如下图我们一起看下布隆过滤器的原理吧,取不同id1、id2三个不同的hash值,存入bigmap中,在查询数据时,会判断id的三个hash值是否存在,如果存在就任务这个这个数据已经存在,反之不存在。redis做为缓存时,一般请求会先到redis,redis中有数据时,会返回redis中的数据,redis没有时,会请求数据库中的数据,redis中也没有数据时返回为空,如果存在数据时,数据会同步到redis中同时返回查询到的数据。存在的问题:布隆过滤器会存在精度的问题,可能会存在误判的情况。

2023-10-09 15:01:48 70

原创 docker的几点理解

一、概述Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分离,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行之间的延迟。这是官方解释简单的来说,docker的作用就是把开发的应用以及依赖的环境打包成一个镜像,发布到远程仓库的工具,以便于拉到镜像后直接部署二、docker解决了什么问题1、解决环境的切换和配置在过往经

2022-03-20 18:09:01 602

原创 Java处理xml文件转为json字符串

之前在处理xml文件时用到dom4j但是感觉还是繁琐了些,今天发现了另一种方式处理更为简便些,记录下来方便你我他首先引入下面两个jar包<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160810</version> &

2022-02-11 15:20:34 825

原创 处理json转对象key和类属性不一致

最近在开发过程中需要将json转为对象,但是json字符串中部分key(如:{“java.net.URL”:“http;//localhost”})在Java规范中不是合法的变量名,不能直接转为对象。经过查找找到以下解决方法,特此记录下以便后续使用到1、引入gson依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson&

2022-02-11 15:13:15 1425

原创 git hook 服务端规范提交邮箱

背景: 最近项目中需要统计代码的提交量,但是由于提交代码使用的邮箱多种多样,为了规范邮箱与公司邮箱一致,采用git hook来规范提交时使用的邮箱选型: 查看git官方文档(https://www.git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90hook介绍可以直接跳转),发现hook可以分为客户端和服务端,使用客户端方式实现,由于人员众多,不可能每个人都要配置,这样有...

2020-09-08 21:20:56 876

原创 centos7安装mysql-5.7.30

一、检查是否有历史版本mysql,并进行卸载 1、使用rpm -qa | grep mysql确认安装的mysql 如果存在,使用yum remove+旧版本mysql进行卸载 如:yum remove mysql-libs-5.1.71-1.el6.x86_64 2、使用find / -name mysql找到所以mysql rm -rf 上边查找到的路径,多个路径用空格隔开 #或者下边一条命令即可 find / ...

2020-07-22 18:31:09 679 4

转载 windows下 安装 rabbitMQ 及操作常用命令

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。1.安装Erlang所以在安装rabbitMQ之前,需要先安装Erlang 。小编使用的是otp_win64_18.1,需要其他版本或...

2019-12-31 17:05:47 72

原创 线程、线程等待、线程定时器、线程池的使用

最近项目使用到多线程相关的技术,重新温习了下总结下一、创建线程的方法:1、继承THread类2、实现Runable接口创建线程 相较于第一种方式,这种实现方式多出了start、stop、sleep方法3、实现callable使用future可以实现相较于前两种方式,这种实现方式线程可以有结果二、线程等待1、Thread.sleep()缺点:算...

2019-12-23 21:38:04 323

原创 springboot注册拦截器

springboot相较于springmvc更加简单;拦截器中的执行顺序为:preHandler->Controller->postHandler->afterComletion。但是只有preHandler为true时后面的方法才会执行,当拦截器链中存在多个拦截器,所有的拦截器均返回成功时才调用PostHandler,afterComletion则是在preH...

2019-12-15 16:54:42 311

原创 springboot支持CORS解决跨域

CORS是有W3C制定的一种跨域资源共享技术标准,其主要目的就是解决前端的跨域请求。最常见的前端跨域请求解决方案是JSONP,但是这个方式只支持GET请求。对比来说CORS可以支持多种HTTP请求方式。下面介绍下怎么springboot使用CORS如何处理跨域问题 直接上代码,如下图中使用@ CrossOrigin注解 1、value表示支持的域 2、maxAge表示探测请...

2019-12-15 16:16:55 107

原创 git fatal: open /dev/null or dup failed: No such file or directory错误解决方法

今天给win10 安装git bash 发现这个错误,花了几个小时终于找到了解决方法:1、替换 windows/system32/drivers/null.sys,试了下没有用2、在C:\Windows\System32下找到cmd.exe文件,右击点击以管理员身份运行。1)在弹出的“运行”中输入 sfc /scannow然后发现还是不行3、找了好久在网上找到了第三中方法打开在D...

2019-03-05 16:38:13 453

空空如也

空空如也

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

TA关注的人

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