自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 外卖点餐项目的测试

外卖点餐项目的测试一、测试的流程二、测试用例的编写三、自动化测试登录功能四、手动测试五、loadrunner性能测试六、测试报告一、测试的流程测试计划:1.第一天,用自动化测试Selenium测试登录功能,手动测试员工管理、分类管理、菜品管理的增改查功能2.第二天,手动测试套餐管理核定单明细,并用loadrunner进行性能测试测试设计和开发:编写测试用例如下测试的执行:如下报告评估如下:二、测试用例的编写三、自动化测试登录功能四、手动测试五、loadrunner性能测试六、测

2022-01-30 13:34:15 12173 5

原创 文件操作IO流

文件操作IO 流一、Java中文件的描述1. File类的概述2.File类的常用构造方法和常用方法3.相对路径与绝对路径4.[练习]罗列出当前目录中都包含哪些文件和目录二、文件数据的读写----IO流2.1IO流的概述和分类2.2复制一个二进制文件2.2.1不带缓存的字节流实现2.2.2带缓存的字节流实现(更高效)2.2.3字符流实现三、序列化和Java如何实现序列化一、Java中文件的描述1. File类的概述Java中采用File类的方法来描述一个文件对于File而言,其封装的并不是一个真正

2022-01-07 12:55:06 723

原创 滑动窗口总结

滑动窗口总结一、滑动窗口解题模板二、滑动窗口例题2.1最长无重复数组2.2一、滑动窗口解题模板int left=0;int right=0;while(right<s.length()){ //扩大窗口 window.add(s[right]) right++; while(){ window.remove(s[remove]); left--;//缩小窗口 }}二、滑动窗口例题2.1最长无重复数组import java.util.*;public class

2022-01-01 23:11:03 962 4

原创 最小覆盖子串

最小覆盖子串一、题目描述二、模板套入一、题目描述leetcodeOJ链接: 最小覆盖子串二、模板套入滑动窗口模板介绍:代码实现:class Solution { public String minWindow(String s, String t) { if(s.length()<t.length()){ return ""; } HashMap<Character,Integer

2022-01-01 23:06:55 460

原创 字符串的重新排列

字符串的重新排列一、题目描述二、套入模板一、题目描述LeetCodeOJ链接: 字符串的重新排序二、套入模板滑动窗口模板介绍代码实现class Solution { public boolean checkInclusion(String s1, String s2) { HashMap<Character,Integer> need=new HashMap<>(); HashMap<Character,Intege

2022-01-01 22:25:22 923

原创 找到字符串中所有字母异位词

找到字符串中所有字母异位词一、题目描述二、套入模板一、题目描述leetcodeOJ链接: 找到字符串中所有字母异位词二、套入模板滑动窗口技巧总结:代码实现class Solution { public List<Integer> findAnagrams(String s, String p) { // 记录结果 List<Integer> list=new ArrayList<>(); Has

2022-01-01 22:19:17 161

原创 最长无重复数组

最长无重复数组一、题目描述二、套用模板一、题目描述leetcodeOJ链接 :最长无重复数组二、套用模板滑动窗口模板总结,请参考代码实现class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character,Integer> map=new HashMap<>(); int left=0; int right=0;

2022-01-01 22:04:54 294

原创 差分数组技巧

一、差分数组适用题型,和技巧前缀和数组:适用于原始数组不会被修改的情况下,频繁查询某个区间的累加和差分数组:主要适⽤场景是频繁对原始数组的某个区间的元素进⾏增减(比如:给你和数组arr,然后再下标0-4之间各元素加一,2-5之间各个元素减2,求最终的原数组)差分数组技巧1.构建差分数组(diff),diff[0]=nums[0],之后diff[i]=nums[i]-nums[i-1]int[] diff = new int[nums.length];// 构造差分数组diff[0] = n

2021-12-30 22:58:01 1154 5

原创 前缀和数组

前缀和数组一、区域和检索-数组不可变二、和为K的子数组一、区域和检索-数组不可变区域和检索-数组不可变preSum[i]:原数组起始下标到i-1下标的所有数之和class NumArray { private int preSum[]; public NumArray(int[] nums) { //构建前缀和数组 preSum=new int [nums.length+1]; // preSum[0] = 0,便于计算累加和

2021-12-29 21:38:44 232 4

原创 线程的状态

线程的状态一、线程有哪些状态1.1掌握java的线程状态1.2掌握java线程状态之间的切换1.3辨析两种说法,六种状态vs五种状态一、线程有哪些状态1.1掌握java的线程状态java线程分为六种状态NEW-新建当一个线程对象被创建,但还未调用 start 方法时处于新建状态此时未与操作系统底层线程关联RUNNABLE-可运行调用了 start 方法,就会由新建进入可运行此时与底层线程关联,由操作系统调度执行BLOCKED-阻塞当获取锁失败后,由可运行进入 Moni

2021-12-28 21:26:34 361 7

原创 线程(基础和线程控制)

线程基础一、实现多线程的方式有哪些?1.1 继承Thread类1.2 实现Runnable接口1.3 实现Callable接口二、设置和获取线程名称三、线程休眠四、线程优先级五、守护线程一、实现多线程的方式有哪些?1.1 继承Thread类实现步骤1.定义一个MyThread继承Thread类2.在MyThread类中重写run()方法3.创建MyThread类对象4.启动线程代码演示public class MyThread extends Thread { @Overrid

2021-12-28 15:02:32 347 1

原创 Servlet

Servlet一、Servlet简介二、快速入门三、执行流程四、生命周期五、方法介绍六、体系结构七、urlpattern配置一、Servlet简介Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态获取web资源开发技术Servlet 是一组 Tomcat 提供的 API, 让程序猿自己写的代码能很好的和 Tomcat 配合起来, 从而更简单的实现一个 web app二、快速入门创建maven Web项目1.创建Maven项目2.选择不使用Web项目骨架3.

2021-12-28 11:55:21 297 1

原创 软件测试进阶(软件测试的分类)

测试的分类一、测试金字塔二、按照开发结点划分测试类型(单元测试、集成测试、系统测试、验收测试)三、按照实施组织划分(α测试、β测试、第三方测试)四、按照是否运行划分(静态测试、动态测试)五、按照是否手工划分(手工测试、自动化测试)六、按照是否查看代码划分(黑盒、白盒、灰盒)七、按照测试对象划分(业务测试、界面测试、容错性测试、文档测试、兼容性测试、易用性测试、安装测试、安全测试、性能测试、内存泄漏测试)一、测试金字塔测试金子塔特点1.越往上层投入产出比越低2.越往上层效率越低3.越往上定位问题

2021-12-16 23:38:37 654 11

原创 动态规划问题

动态规划一、动态规划题的特点二、动态规划的解题步骤三、动态规划的经典例题3.1斐波那契数列3.2零钱兑换一、动态规划题的特点把原来的问题分解成了几个相似的子问题。所有的子问题都只需要解决一次。储存子问题的解。题型一般是求最值、核心穷举二、动态规划的解题步骤状态定义状态间的转移方程定义状态的初始化返回结果三、动态规划的经典例题3.1斐波那契数列斐波那契3.2零钱兑换...

2021-12-11 19:51:17 622 3

原创 动规零钱兑换

动态规划解决零钱兑换一、动态规划解题步骤二、代码零钱兑换OJ一、动态规划解题步骤1、确定 base case,这个很简单,显然⽬标⾦额 amount 为 0 时算法返回 0,因为不需要任何硬币就已经凑出⽬标⾦额了。2、确定「状态」,也就是原问题和⼦问题中会变化的变量。由于硬币数量⽆限,硬币的⾯额也是题⽬给定的,只有⽬标⾦额会不断地向 base case 靠近,所以唯⼀的「状态」就是⽬标⾦额 amount。3、确定「选择」,也就是导致「状态」产⽣变化的⾏为。⽬标⾦额为什么变化呢,因为你在选择硬

2021-12-11 19:50:25 931 4

原创 斐波那契数列

斐波那契数列的两种解法一、暴力递归二、dp思想的动规斐波那契数列OJ链接一、暴力递归class Solution { public int fib(int n) { // 初始值 if(n <= 0) return 0; if(n == 1 || n == 2) return 1; // F(n)=F(n-1)+F(n-2) return fib(n - 1

2021-12-11 19:25:10 1316 3

原创 SpringBoot

SpringBoot快速入门

2021-12-10 18:13:21 358

原创 软件测试用例

软件测试用例一、设计测试用例的方法二、具体的设计测试用例的方法1.等价类一、设计测试用例的方法总的测试用例的方法 ------基于需求设计测试用例测试人员接到需求之后,要对需求进行分析和验证,从合理的需求中进一步分析细化需求,从细化的需求中找到测试点,根据这些测试点在去设计测试用例。什么是非二、具体的设计测试用例的方法1.等价类...

2021-12-09 15:54:43 133

原创 SpringMVC

SpringMVC一、SpringMVC简介二、请求与响应三、REST风格一、SpringMVC简介MVC(Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点:使用简单、开发便捷(相比于Servlet)、灵活性强二、请求与响应三、REST风格...

2021-12-08 15:45:04 383 4

原创 Spring中Bean的配置

bean的配置一、在配置文件中的配置二、纯注解开发的配置三、Bean相关注解3.1@Component/@Controller/@Service/@Repository3.2@Configuration、@ComponentScan一、在配置文件中的配置resources下添加spring配置文件applicationContext.xml,并完成bean的配置关于配置3. 关于DI的配置name="bookDao"中bookDao的作用是让Spring的IOC容器在获取到名称后,将首

2021-12-07 19:15:53 289

原创 Spring核心概念

Spring核心概念一、IOC/DI二、IOC容器三、Bean一、IOC/DIIoC(Inversion of Control)控制反转使用对象时,由主动的new产生的对象转化为外部(IoC容器)提供的过程,此过程中对象创建控制权由程序转移到外部,此思想称之为控制反转DI(Dependency Injection)依赖注入在容器中简历bean与bean的依赖关系成为依赖注入。参考资料 IoC二、IOC容器Ioc容器实现了IoC思想的容器就是IoC容器,比如:SpringFr

2021-12-07 18:11:07 224

原创 软件测试的基础

软件测试的基础一、软件测试的生命周期(软件测试的流程)二、如何描述一个BUG?2.1BUG描述的组成2.2举例三、当开发人员跟测试人员产生冲突?一、软件测试的生命周期(软件测试的流程)需求分析----测试计划----测试设计/开发----测试执行----报告评估需求分析:深入了解需求,分析需求,验证需求去掉不合理的需求,从需求中提取出测试点测试计划:确定时间,人员,目的,测试的范围测试设计/开发:测试用例的开发和编写(开发人员同比进行开发工作)测试执行:功能已经开发完,测试人员要执行测试用例去

2021-12-02 22:27:04 133

原创 软件测试的概念

软件测试基础一、什么是软件测试二、软件测试跟软件开发的区别?三、什么是需求?四、测试用例五、什么是BUG六、软件开发的五个模型七、软件测试模型7.1软件测试V模型7.2软件测试W模型一、什么是软件测试软件测试就是测试人员用一系列手段来判断软件是否满足用户需求。软件测试要验证软件功能的正确性软件测试要验证软件测试功能是否满足对软件的“预期结果”软件测试的特点:软件测试只是一个样本实验,具有不可穷尽性二、软件测试跟软件开发的区别?软件研发的流程需求—计划—设计—开发/编码—测试—运行维护

2021-12-02 22:25:52 1053 3

原创 Sql--约束

约束一、概念二、分类三、非空约束四、唯一约束五、主键约束六、默认约束七、外键约束7.1外键概念7.2外键语法八、约束练习九、总结一、概念约束是作用于表中列上的规则,用于限制加入表的数据例如:我们可以给id列加约束,让其值不能重复,不能为null值。约束的存在保证了数据库中数据的正确性、有效性和完整性添加约束可以在添加数据的时候就限制不正确的数据,年龄是3000,数学成绩是-5分这样无效的数据,继而保障数据的完整性。二、分类非空约束: 关键字是 NOT NULL保证列中所有的数据不能有n

2021-11-20 10:53:13 608 2

原创 Mysql

Mysql一、数据库的相关概念1.1数据库1.2数据库管理系统1.3sql二、SQL的概述2.1sql的通用语法2.2sql的分类2.2.1DDL数据库、表的的创建与删除2.2.2DML表数据的增删改2.2.3DQL数据的查询2.2.4DCL数据库控制语言一、数据库的相关概念以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端,现需要既能持久化存储数据,也要能避免上述问题的技术使用在我们的系统中。数据库就是这样的一门技术。1.1数据

2021-11-19 15:46:49 532 9

原创 DQL数据库中的查询语句

DQL-->Mysql一、基础查询二、条件查询2.1条件查询语法2.2条件查询举例2.2模糊查询举例三、排序查询3.1排序语句语法3.2 排序查询练习四、聚合函数4.1概念以及聚合函数分类4.2聚合函数的语法4.3 聚合函数查询的练习五、分组查询5.1分组查询语法5.2分组查询练习六、分页查询6.1分页查询语法6.2分页查询练习七、总结查询的整套语法SELECT 字段列表FROM 表名列表 WHERE 条件列表GROUP BY 分组字段HAVING

2021-11-19 15:44:40 281 4

原创 DML数据库中的添加 删除更改 语句

mysql-->DML一、添加数据二、修改数据三、删除数据四、总结一、添加数据给指定列添加数据INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);给全部列添加数据INSERT INTO 表名 VALUES(值1,值2,…);批量增加数据INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…)

2021-11-19 14:53:40 289 5

原创 DDL数据库及表的创建删除与使用

Mysql -->DDL一、DDL操作数据库1.1查询1.2创建数据库1.3删除数据库1.4使用数据库二、DDL操作表2.1查询表2.2创建表2.3数据类型2.4删除表2.5修改表三、总结一、DDL操作数据库1.1查询查询所有数据库SHOW DATABASES;上述查询到的是的这些数据库是mysql安装好自带的数据库,我们以后不要操作这些数据库。1.2创建数据库创建数据库:CREATE DATABASE 数据库名称;创建数据库(判断,如果不存在则创建)CREAT

2021-11-19 11:39:07 840 3

原创 Set和Map

Set和Map一、关于集合的体系结构二、Map的使用2.1关于Map.Entry一、关于集合的体系结构Set是继承自Collection的接口类,Set中只存储了Key。Map是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且K一定是唯一的,不能重复。二、Map的使用2.1关于Map.Entry<K, V>的说明Map.Entry<K, V> 是Map内部实现的用来存放<key, value>键值对

2021-11-15 23:35:50 1002 5

原创 二叉搜索树

二叉搜索树一、二叉搜索树的概念二、二叉搜索树的查找2.1文字描述2.2代码实现三、二叉搜索树的插入3.1文字描述3.2代码实现四、二叉搜索树的删除4.1文字描述4.2代码实现一、二叉搜索树的概念二叉搜索树又称二叉排序树,它或者是一颗空树,或者是具有一下性质的二叉树:若它的左子树不为空,则左子树上所有结点的值都小于根节点若它的右子树不为空,则右子树上所有结点的值都大于根节点它的左右子树也分别为二叉搜索树该树上没有值相同的结点二、二叉搜索树的查找2.1文字描述判断根节点是否为空,若不为

2021-11-13 21:58:29 107 3

原创 二叉数<二>

二叉树一、二叉树相关函数的实现1.求二叉树的结点个数2.求二叉树叶子结点的个数3.求二叉树第k层结点的个数4.求二叉树的高度5.求二叉树中值为val的所在结点6.判断该二叉树是不是满二叉树二、二叉树的基础面试题2.1 检查两颗树是否相同。2.2判断是不是另一颗的子树2.3二叉树的最大深度2.4判断二叉树 是否是平衡二叉树2.5判断是否是对称二叉树三、二叉树的进阶面试题3.1 二叉树的构建及遍历。3.2 二叉树的分层遍历 。3.3 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先 。3.4 二叉树搜索

2021-11-08 15:52:27 481

原创 顺序表和链表

顺序表和链表一、顺序表1.顺序表的概念2.顺序表的代码实现二、链表1.链表的概念2.链表的代码实现三、相关面试题1.移除链表中的元素2.反转链表3.链表的中间结点4.链表中倒数第k个结点5.合并两个有序链表6.链表分割一、顺序表1.顺序表的概念顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:- 静态顺序表:使用定长数组存储。- 动态顺序表:使用动态开辟的数组存储。2.顺序表的代码实现package c

2021-10-26 12:24:03 285 5

原创 剑指offer<9、11、12、13、15>

剑指offer一、剑指0ffer 09. 用两个栈实现队列二、剑指0ffer 11. 旋转数组中的最小数字三、剑指0ffer 12. 矩阵中的路径四、剑指0ffer 13. 机器人的运动范围五、剑指0ffer 15. 二进制中1的个数一、剑指0ffer 09. 用两个栈实现队列剑指 Offer 09.用两个栈实现队列解题思路1.创建两个栈,sta1 用于存元素 sta2 用于出元素2.appendTail:全部入到sta1中3.deleteHead:(先判断队列是否为空)出队先找sta2

2021-10-21 16:14:32 74

原创 剑指offer<3、4、5、6、7>

剑指offer一、剑指offer 03.数组中的重复数字二、剑指offer 04.二维数组中的查找三、剑指offer 05.替换空格四、剑指offer 06.从尾到头打印链表五、剑指offer 07.重建二叉树一、剑指offer 03.数组中的重复数字剑指 Offer 03. 数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。解题思路1、采用H

2021-10-20 17:16:18 96

原创 一、栈和队列

栈和队列一、栈1.1栈的概念1.2栈的常用函数1.3代码实现栈二、队列2.1队列的概念2.2队列的常用函数2.3队列的实现三、栈队列相关面试题3.1 括号匹配问题。3.2 用队列实现栈。3.3 用栈实现队列。3.4 实现一个最小栈。3.5 设计循环队列。一、栈1.1栈的概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操

2021-10-19 18:49:41 111 3

原创 二叉树<一>

二叉树1.二叉树的特点以及两种特殊的二叉树1.1二叉树的特点1.2两种特殊的二叉树2.二叉树的性质3.二叉树的遍历3.1先序、中序、后续的文字描述3.2先序遍历的代码实现3.3中序遍历的代码实现3.4后序遍历的代码实现1.二叉树的特点以及两种特殊的二叉树1.1二叉树的特点二叉树中,任意一个节点的度要小于等于2*度 :每一个节点的子节点数量称之为度*节点 : 在树结构中,每一个元素称之为节点1.2两种特殊的二叉树满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就

2021-10-13 09:57:07 97 1

原创 List和HashMap相关面试题

ArrayList、LinkedList、HashMap相关面试题ArrayList1.ArrayList的扩容机制2.Iterator的fail-fast、fail-safe机制LinkedList1.掌握ArrayList与LinkedList的区别HashMap底层数据结构,1.7,1.8有何不同为何要使用红黑树,为何一上来不树化,树化阈值为何是8,何时会树化,何时会退化为链表索引如何计算》hashCode都有了,为何还要提供hash()方法?数组容量为何是2的n次幂?介绍一下put方法流程,1.7和

2021-10-12 11:38:58 277

原创 基本的排序算法

排序算法一、冒泡排序1.普通冒泡2.优化后的冒泡二、选择排序1.文字描述2.代码优化3.代码实现4.与冒泡排序相比较三、插入排序1.文字描述(以升序为例)2.代码优化3.代码实现4.与选择排序相比较四、快速排序1.文字描述(双边循环以升序为例)2.代码实现3.双边循环的重要步骤快速排序的特点总结面试中常考排序算法一、冒泡排序1.普通冒泡public static void bubble(int a[]){ for (int i = 0; i <a.length ; i++)

2021-10-11 14:47:00 146 9

空空如也

空空如也

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

TA关注的人

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