自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 接口测试基础知识(使用 Fiddler 抓包、使用 Postman 发起请求、Postman汉化教程)

接口用来连接软件系统中的不同模块,一个模块可以通过调用另一个模块的接口来实现模块中的功能。

2023-06-19 14:52:05 3111

原创 Linux 常用指令的使用

对文件编辑完成之后,按 Esc 键退出编辑模式,输入 :w 回车即可保存文件,输入 :q 回车即可退出文件,输入 :wq 回车即可保存并退出文件。Linux 中对文件的调用权限分为三种:文件所有者的权限(Owner)、用户组的权限(Group)、其他用户的权限(Other Users)上面的命令意思是:将 a.txt、b.txt、c.txt 三个文件中的内容输出到 d.txt 中,也可添加选项来对内容添加序号或者合并空行。cp [选项] [源目录或文件] [目的目录或文件]

2023-05-16 22:40:54 763 1

原创 unittest 测试框架的使用

unittest 中有四个很重要的概念:对一个测试用例环境的搭建和销毁,就是一个 fixture,通过重写方法和方法来实现方法可以进行测试环境的搭建,比如获取浏览器的驱动、设置测试 URL、连接数据库等操作方法及逆行环境的销毁,可以关闭浏览器、关闭数据库等一个 test case 就是一个测试用例,即一个完整的测试流程,包括 setUp 方法、tearDown 方法以及完成测试过程的代码测试套件,test suite 用来将多个测试用例组装在一起在 unittest 框架中,通过类下的。

2023-05-09 21:51:47 814 2

原创 使用 webdriver API 编写自动化脚本的基本语法

本文主要讲解了使用 webdriver API 编写自动化脚本的基本语法

2023-05-08 21:17:51 901 2

原创 自动化测试之 selenium 的安装以及 selenium IDE 录制自动化脚本的用法

自动化测试是指在预设的条件下,不需要手工干涉,机器就可以自动执行测试预设的条件是指针对测试用例编写的自动化测试脚本脚本的复用率、复用率越高、价值越高自动化测试包括:UI 自动化、接口自动化、单元测试自动化Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。Selenium 由 Selenium IDE, Webdriver,Selenium Grid组成。

2023-05-05 18:45:42 715 1

原创 软件测试之测试的分类(重点:黑盒测试、白盒测试、单元测试、集成测试、系统测试)

本文主要介绍了测试按照不同类别划分时,都分为哪些,并对这些测试方法进行了简单的讲解

2023-05-03 20:33:32 5567 1

原创 软件测试之学习测试用例的设计(等价类法、边界值法、错误猜测法、场景法、因果图法、正交法)

本文主要介绍了设计测试用例的方法,包括等价类法、边界值法、错误猜测法、因果图法、场景法、正交法

2023-04-24 11:32:11 930

原创 软件测试之基础概念学习篇(需求 + 测试用例 + 开发模型 + 测试模型 + BUG)

本文主要介绍了软件测试学习阶段的一些基础概念,包括需求、测试用例、开发模型、测试模型和 BUG

2023-04-23 16:24:18 872 1

原创 网络编程之 Socket 套接字(使用数据报套接字和流套接字分别实现一个小程序(附源码))

本文主要介绍了网络编程中最重要的一个操作单元 —— Socket 套接字,并且分别使用数据报套接字和流套接字实现了一个提供翻译服务小程序

2023-04-21 20:44:15 1947 6

原创 HTTP 和 HTTPS(请求响应报文格式 + 请求方法 + 响应状态码 + HTTPS 加密流程 + Cookie 和 Session)

本文主要介绍了应用层协议中的 HTTP 和 HTTPS 协议,文中提到了 HTTP 请求响应报文格式、请求方法、常见响应状态码、HTTPS 怎么实现加密、HTTP 和 HTTPS 的区别,还提到了网络中用于记录用户状态的 Cookie 和 Session

2023-04-18 17:38:14 4537 1

原创 详解 TCP(三次握手 + 四次挥手 + 滑动窗口 + 拥塞控制 + 和 UDP 做对比)

因为三次握手之后就已经可以确认双方的发送和接受能力正常,而且双方也都知道对方的序列号和确认序列号,就不需要第四次了。

2023-04-17 11:38:53 616

原创 Java多线程之线程池

创建一个单线程化的线程池,线程池中只有唯一一个线程来执行任务,保证所有线程按照指定顺序执行,如果这个线程异常结束了,就会创建另一个线程来替代他。创建一个可缓存线程池,此类线程池中的所有线程只有 60 秒的最大空闲时间,线程空闲超过 60 秒就会被销毁,线程数量几乎没有限制。创建一个固定线程数量的线程池,每提交一个任务就创建一个工作线程,工作线程数量达到指定的最大值,就将任务放入阻塞队列中。线程执行完任务之后不会被销毁,而是放入线程池中,下次使用就直接在线程池中取,减少了创建和销毁线程消耗的资源。

2023-04-14 17:30:25 475

原创 synchronized关键字(作用 + 特点 + 锁升级 + 锁优化 + 与 volatile 对比)

本文主要围绕 synchronized 关键字展开讲解,提到了其作用、特点、锁升级过程、锁优化策略以及与 volatile 关键字进行对比

2023-04-11 19:55:06 541

原创 七大排序算法

本文主要介绍了七大排序算法

2023-04-09 17:38:08 419

原创 HashMap底层原理

本文简要介绍了 HashMap 的底层实现原理

2023-04-04 17:23:29 514

原创 认识并发中常见的锁

本文主要讲解了并发操作中一些常见的锁

2023-04-02 16:09:54 421

原创 线程基础知识总结

本文主要总结了一下线程方面的一些基础知识,万字爽文,谨慎点击

2023-03-27 20:33:36 794

原创 JVM的GC机制和常见GC算法

垃圾收集(Garbage Collection)通常被称为GC在程序运行时,内存空间是有限的,那么如何及时的把不再使用的对象清除将内存释放出来,这就是GC要做的事情。

2023-02-17 14:52:27 484

原创 【MySQL】事务和索引

事务这个词的含义很广泛,并不一定特指数据库中的事务在开发者看来,一个不可再分的业务动作就是一个事务,这个动作最终表达为一条或者多条 SQL 语句。

2022-11-28 21:13:18 1401 1

原创 【Spring】Spring MVC 拦截器的使用

Spring拦截器是一种基于 AOP 的技术,本质也是使用一种代理技术,它主要作用于接口请求中的控制器,也就是Controller。因此它可以用于对接口进行权限验证控制。

2022-11-14 22:18:44 491

原创 【Spring】Bean 的作用域和生命周期

限定程序中变量的可用范围叫做作用域,或者说在源代码中定义变量的某个区域就叫做作用域。而 Bean 的作用域是指 Bean 在 Spring 整个框架中的某种行为模式,比如 singleton 单例作用域,就 表示 Bean 在整个 Spring 中只有一份,它是全局共享的,那么当其他人修改了这个值之后,那么另一个人读取到的就是被修改的值。singleton单例,Spring 中默认的作用域prototype每次从 Spring 容器中 get Bean 对象,都会触发一次创建过程,每个对象都是独立的对象。

2022-11-13 20:57:25 684

原创 MyBatis 小知识点补充(#{} 和 ${})

本文是对上篇文章中没有提到的知识点的补充,希望对大家可以有所帮助

2022-11-12 10:28:35 205

原创 【Spring】使用 MyBatis 操作数据库

本文主要介绍 MyBatis 是什么,以及使用 MyBatis 操作数据库

2022-11-08 22:12:09 457

原创 【Spring】AOP 统一问题处理

本文重点介绍什么是 AOP、 Spring AOP 的组成、实现以及 Spring AOP 的实现原理

2022-11-07 23:00:33 811

原创 【Spring】Spring MVC

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来自其源模块的名称(Spring-webmvc),但它通常被称为“Spring MVC”。MVC 是 Model View Controller 的缩写,它是软件工程中的一种软件架构模式,它把软件系统分为模 型、视图和控制器三个基本部分。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

2022-11-06 00:02:20 366 1

原创 TCP / IP 五层模型

TCP/IP协议不仅仅指的是 TCP 和 IP 两个协议,而是指一个由等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。,IP 地址是一个 32 位的二进制数,通常被分割为4个 “ 8位二进制数 ”(也就是4个字节),通常用 “ 点分十进制 ” 的方式来表示,即 a.b.c.d 的形式(a, b, c, d 都是0 ~ 255 之间的十进制整数)。TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

2022-11-05 16:42:49 2037 8

原创 Cookie 和 Session

首先要先介绍一下什么是 HTTPHTTP:超文本传输协议,它是一个应用层协议,是万维网数据通信的基础,通过 HTTP 协议请求的资源由统一资源标识符(URL)来标识HTTP 是无状态协议,说明它不能以状态来区分和管理请求和响应,所以服务器单单从网络连接上无法得知客户身份所以就需要给客户端们办法一个通行证,每人一个,无论谁访问都必须带有通行证,这样服务器就可以通过通行证得知客户身份了。这就是 Cookie 的工作原理。

2022-11-01 23:05:44 243 1

原创 【Spring】配置文件的使用

配置文件是一种计算机文件,可以为一些计算机程序配置参数和初始设置。

2022-10-26 23:12:58 978 5

原创 【Spring】简单的登录案例和配套知识

一般在 Java 中,表过程的对象总是以单例的方式出现,表数据的对象无法使用单例管理,所以,一般让 Spring 管理的对象大多是表过程的对象(不是绝对的)好处是,我们可以很方便的替换背后的依赖对象。比如:刚才我们依赖的 Scanner 对象是从标准输入读取的,我们可以很方便的替换成读取文件的方式。因为案例只是我自己写的,所以前面代码中所注入的 Bean,我需要自行注册进 Spring,这里采用方法注册。下面代码在第一次打印 Person 对象的时候,pid = 0,name = null,

2022-10-24 22:48:21 917 6

原创 【Spring】Bean注册和注入

这几个注解在 IOC 场景下,没有区别,都是将类注册进 Spring 库,但在其他场景一般这样用。当使用以下方法注入时,会注入进 NULL 值,而非对象,原因已在下面代码的注释中写出。使用注解注册 Bean 是注册进 Spring 提供的库,就不需要自建库了。使用 @Bean 修饰方法,@Configuration 修饰类。使用注解注册简而言之就是使用某个注解修饰类或方法,对其进行注册。使用工厂方法注册就是调用静态工厂方法注册 Bean。此方法注册就相当于 XML 中的工厂方法注册。

2022-10-22 22:47:27 1454 10

原创 【Spring】spring核心思想——IOC和DI

所以,依赖注入 (DI)和控制反转(IoC)是从不同的角度的描述的同一件事情,就是指通过引入 IoC 容器,利用依赖关系注入的方式,实现对象之间的解耦。在 Spring 的大部分代码中,我们只需要声明我们需要一个什么样的对象,对象的构造我们不管,这里的对象就是 Spring 帮我们注入进来的,对象就来自于 IOC 容器。在我们之前的大部分代码中,当我们要用到一个对象时,我们就需要自己构造这个对象,自己 new 对象,自己造,自己用,典型的自给自足生产模式。打印后可以清楚的看到,三个对象成功注入。

2022-10-20 22:47:08 1216 12

原创 栈和队列的基本用法

创建两个栈,一个作为输入栈,一个作为输出栈,当对队列进行 “appendTail” 操作时,直接将元素压入输入栈即可,进行 “deleteHead” 操作时,若输出栈为空,则将输入栈中的元素全部出栈,再压入输出栈,此时输出栈栈顶元素便是队首元素,直接出栈即可。栈只定义了默认构造函数,用来创建一个空栈。以下两种方法都可以创建一个栈对象,不过在效率上有所不同,一般来说,队列是一种比较重要的数据结构,是一个接口,队列中的元素遵循先进先出。栈是Vector的一个子类,它实现了一个标准的后进先出的栈。

2022-09-22 17:38:11 839 2

原创 【Java】set 集合基础

HashSet 实现set接口, 底层由HashMap来实现, 为哈希表结构,新增元素相当于HashMap的key,value默认为一个固定的Object。HashSet 是哈希表结构,主要利用 HashMap 的 key 来存储元素,计算插入元素的 hashCode 来获取元素在集合中的位置。本题目利用set元素不重复的原则,当一个元素在set中已经存在,第二次add时就会返回false,我们就可知道重复的元素。当有元素插入的时候,会计算元素的hashCode值,将元素插入到哈希表对应的位置中来。

2022-09-21 10:01:45 146

原创 线程(Thread)

文章目录🌼什么是线程🌼Java 线程在代码中的体现🌷线程对象🌷在 Java 代码中创建线程🌷启动线程🌷代码演示创建线程🌼多线程下各个线程之间执行先后的随机性🌷什么情况下,子线程会被先执行🌷什么情况下,会出现线程调度🌼线程安全🌷线程之间的数据共享🌷演示什么是线程不安全🌷线程不安全的原因🌷原子性🌷系统角度分析线程不安全的原因🌼什么是线程线程属于进程之下,一个进程下可以有多个线程,一开始就存在的线程被称为主线程主线程和其他线程之间地位是完全相等的,没有任何特殊性线程是 OS(操作系统)进行调度(分配 C

2022-04-30 14:49:02 760 27

原创 【newcode】牛牛组队竞赛

好几天没写博客了,刚好这道题一开始不太会,浅发一篇水一下🤗🤗🍃题目链接组队竞赛🍃题目牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更

2022-04-19 18:07:59 281 25

原创 计算机内部工作原理

冯诺依曼体系冯诺伊曼体系认为,指令只是一种特殊一些的数据并且冯诺依曼体系将计算机系统分为处理器(CPU)+ 存储器 + 输入设备 + 输出设备处理器:运算器 + 控制器存储器:内存输入设备:外部数据(物理数据)进入到存储器输出设备:存储器内的数据出来到外部世界程序 = 指令 + 数据指令表现为一种特殊的数据,需要存储在内存中,是一组预规定的动作数据同样需要存储在内存中opcode:只要给CPU支持的所有动作都编码一个唯一的数据...

2022-04-15 18:14:20 606 27

原创 【SQL】JDBC 对 MySQL 的基本用法

JDBC概述Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。IDEA下创建JDBC环境新建 Maven 工程​填写项目所在目录、名称、GroupId、ArtifactId​配置 pom.xml 文件在此文件中输入以下代码,有部分代码是IDEA自动生成,我们只需要补充,代码补充完成之后,点击右上角更新按钮,IDEA就会开始下载

2022-04-12 17:39:54 1469 15

原创 【SQL】基础增删改查

目录🥱前言🥱🍔关键字🍔1. 增🦐1.1 代码格式🦐1.2 全字段插入🦐1.3 指定字段插入🍔2. 查🦐2.1 代码格式🦐2.2 查询表中所有数据🦐2.3 查询表中某个或某些字段🦐2.4 带表达式的查询🦐2.5 别名🦐2.6 distinct(去重)🦐2.7 SQL 中的函数调用🦐2.8 order by🦐2.9 分页查询🦐2.10 where🦐2.11 模糊匹配🍔3. 改🍔4. 删🦐delete🦐truncate..

2022-04-11 18:26:58 13566 15

原创 【leetcode】206.反转链表

解法一在遍历链表时,定义一个链表的前驱结点 prev ,然后一边遍历一边把 cur(此节点)的 next 指向 prev ,直到链表遍历完。需要注意的是,cur 的 next 指向 prev 之后就不能达到从前往后遍历的效果了,所以我们需要提前记录 cur 的 next ,并且 prev 应随着 cur 一起往后走,并且一直是 cur 的前驱结点public ListNode reverseList(ListNode head) { ListNode cur = h...

2022-03-24 22:15:47 614 9

原创 【leetcode】690.员工的重要性

题目讲解一个领导可以有多个下属,一个下属只有一个领导,这就是一颗抽象的树,员工的重要性就是 root.val 。现在,问题就转换成,找到一棵树的某个结点,返回以此结点为头结点的树上所有结点的 root.val 之和。先遍历找到这个领导,将这个领导作为这颗数的头结点(root),再使用递归将领导和直系下属的重要度全部累加。详细代码public class Solution { public int getImportance(List<Employee> empl..

2022-03-23 22:02:06 369 6

空空如也

空空如也

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

TA关注的人

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