自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VS中出现:正在从以下位置加载符号:Microsoft符号服务器

前几天在写代码时,不知道点了什么东西,在运行时就会出现如下对话框,使得运行速度很慢:解决方法:找到“工具”——>“调试”——>“符号”——>“Microsoft符号服务器”,将其前面的勾去掉就可以解决啦!!!!!...

2020-06-05 17:32:57 10492 4

原创 Jmeter 设置为中文格式

Jmeter设置中文格式

2022-11-04 12:01:54 619 1

原创 性能测试工具—LoadRunner

LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量,并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化。

2021-08-22 20:06:57 23244 5

原创 自动化测试框架—unittest

unittest框架unittest框架是python的单元测试框架,属于黑盒测试,是web界面的功能测试的框架。unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用。作为单元测试的框架, unittest 也是可以对程序最小模块的一种敏捷化的测试。在自动化测试中,我们虽然不需要做白盒测试,但是必须需要知道所使用语言的单元测试框架。利用单元测试框架,创建一个类,该类继

2021-08-22 20:02:12 2422 4

原创 深度优先搜索(DFS)和广度优先搜索(BFS)

深度优先搜索和广度优先搜索,都是图形搜索算法。一、深度优先搜索(DFS) 深度优先搜素,是针对图和树的遍历算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。 一般会使用栈数据结构来辅助实现DFS算法。 DFS主要思路就是从图中一个未访问的顶点V开始,沿着一条路一直往下走到底,然后从这条路尽头的结点回退到上一个节点,再从另一条路开始走到底.....,不断递归重复...

2021-07-29 09:23:09 535

原创 经典面试题—在浏览器中输入URL之后发生了什么?

总体的流程:DNS解析:将域名解析成IP地址 TCP连接:TCP三次握手 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 结束连接:TCP四次挥手DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP响应浏览器解析渲染页面TCP四次挥手...

2021-07-25 10:03:28 1388 7

原创 搞懂 “ == ”和 equals 的区别!!!

学了这么久的Java,但是把== 和equals 还是经常搞混,今天就把它俩的区别搞搞清楚!!!== :它的作用是判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。对于基本数据类型,== 比较的是值对于引用数据类型,== 比较的是内存地址equals():它的作用也是判断两个对象是否相等。但它一般会有两种使用情况:情况1:类没有覆写equals()方法。情况2:类覆写了equals()方法。...

2021-07-10 16:57:05 254

原创 设计搜索框测试用例

功能测试搜索内容为空,验证系统如何处理搜索内容为空格,验证系统如何处理边界值验证:在允许的字符串长度内外,验证系统的处理输入超长字符串,系统是否会截取允许的长度来检验结果输入合法长度的字符串之后,加空格验证搜索结果在多个关键字中间加入空格、逗号、Tab验证系统的结果是否正确验证每种合法的输入,结果是否正确是否支持检索内容的复制、粘贴、编辑等操作是否支持回车键搜索多次输入相同的内容,查看系统的检索结果是否一致特殊字符、转义字符、HTML脚本等需要做处理输入敏感词汇,提示用户无权限等

2021-06-02 10:57:41 2837 3

原创 mysql知识点梳理

mysql知识点总结

2021-05-30 19:07:21 102

原创 剑指offer59:滑动窗口的最大值

剑指offer59:滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口使用的数据结构是双端队列deque中只包含窗口内的元素:每轮窗口滑动移除了元素 nums[i - 1],需将 deque 内的对应元素一起删除。deque 内的元素 非严格递减:每轮窗口滑动添加了元素 ,需将 deque 内所有 < nu

2021-05-30 17:16:26 86

原创 Mysql中的子查询

子查询子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。条件:一条sql语句的查询结果作为另一条查询语句的条件或者查询结果。嵌套:多条sql语句嵌套使用,内部的sql查询语句称为子查询。使用子查询解决的问题:不能够一步求解的问题。示例:查询工资比SCOTT高的员工信息1.select sal from emp where name = ‘SCOTT’;查询出来SCOTT的工资是30002.select * from emp where sal>3000;使用子查

2021-04-17 19:38:00 259

原创 测试分类

测试的分类按开发的阶段分:单元测试、集成测试,系统测试,验收测试按测试实施组织分类:、、第三方按测试执行方式:静态测试、动态测试按是否查看代码:黑盒测试、白盒测试、灰盒测试按是否手工执行划分:手工、自动化按测试对象划分:性能测试、安全测试、兼容性测试、文档测试、易用性测试(文档体验测试)、业务测试、界面测试、安装测试按测试地域划分:本地化测试、国家化测试按开发阶段划分测试金字塔UI界面层:功能验证测试、兼容性与用户测试 业务逻辑层(Server):客户

2021-04-13 20:38:31 297 1

原创 面试问烂了的测试用例: 登录界面的测试用例

从功能测试、性能测试、界面测试、安全性测试、兼容性测试、可用性测试六个方面设计测试用例。一、功能性测试二、性能测试打开登录界面,需要几秒输入正确的用户名和密码跳转大正确的页面需要几秒输入错误的用户名密码以后,给出提示需要几秒多用户并发登录是否达到设计要求登录达到需求上限,系统稳定工作时间是否达到要求三、界面测试布局是否合理输入框和按钮的长度、高度是否符合要求,是否对齐界面的设计风格是否与UI的设计风格统一界面中的文字简洁易懂,没有错别字四、安全性测试List it

2021-04-12 20:57:26 8205 2

原创 水杯的测试用例

从功能测试、性能测试、界面测试、安全性测试、易用性、兼容性测试、震动测试七个方面来设计测试用例:一、功能测试水到规定的安全线是否漏水 水超过安全线是否漏水 盛放一整杯水是否溢出 水倒满且流出来,是否对杯子产生什么影响 拧紧盖子,摇晃是否漏水 盛放热水是否烫手二、性能测试使用最大刺水或时间限制(寿命) 盖子拧到什么程度,杯子不会漏水 杯子的耐热性 杯子的耐寒性 长时间放置会不会漏水 杯子上放置重物达到什么程度杯子会被损坏(抗压性) 掉到地上不易摔坏三、界面测试杯子外观

2021-04-11 16:27:49 2890 3

原创 ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

说到ConcurrentHashMap,首先就要聊聊HashMap了HashMapHashMap的源码解析看这里JDK1.8之前HashMap的底层是数组+链表结合在一起使用。HashMap 通过 key 的hashCode 经过哈希函数处理过后得到 hash 值;然后通过 (n - 1) & hash 判断当前元素存放的位置(n 指的是数组的长度);如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash值以及 key是否相同;如果相同的话,直接覆盖;不相同就通过拉.

2021-04-11 12:12:50 1996 4

原创 synchronized锁优化

synchronized锁的优化基于对象头的锁状态对synchronized锁进行优化基于锁的状态从低到高依次为无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态【锁只能升级不能降级】无锁状态偏向锁为什么要有偏向锁?大多数的情况下,锁不仅不存在多线程竞争,而且总是由同一个线程多次获得锁,为了让线程获得锁的代价更低就引入了偏向锁。偏向锁:从始至终只有一个线程请求某一把锁。同一个对象多次加锁(重入)获取偏向锁当一个线程访问同步代码块获取锁时,会在对象头和栈帧中的锁记录里存储

2021-04-11 11:01:40 175

原创 多进程和多线程

进程:当一个程序进入内存运行时,即变成一个进程。进程时处于运行过程中的程序。进程是操作系统进行资源分配和调度的一个独立单位。线程:线程是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运作单位。线程也被称为轻量级进程。线程在进程中是独立、并发的执行流。进程和线程的区别:一个进程可以有很多线程,每条线程并行执行不同的任务。 同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。 同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资.

2021-04-08 18:19:41 3253

原创 Java异常

Java异常是Java提供的一种识别及响应错误的一致性的机制。Java异常体制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并能够提高程序的健壮性。

2021-03-27 20:15:24 961 3

原创 JDBC编程

什么是JDBC?JDBC(Java Database Connection)为Java开发者 使用数据库提供了统一的编程接口 ,它由一组Java类和接口组成(主要在java sql,javax sql包中)。是Java程序与数据库系统通信的标准API。JDBC API 使得开发人员可以使用纯java的方式来连接数据库,并执行操作。JDBC这套接口的实现,称为 数据库驱动 ,由各个数据库厂商提供。为什么要使用JDBC?市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,su

2021-03-26 13:35:16 3915 6

原创 Leetcode: 删除排序链表中的重复元素(Java)

删除链表中的重复元素题目描述:存在一个按升序排列的链表,给你这个链表的头节点head,请你删除所有重复的元素,使每个元素只出现一次。返回同样按升序排列的结果链表。示例:输入:[1,2,2,3,3]输出:[1,2,3]思路:链表是已经排序的链表,所以重复的元素在链表中的位置也是连续的。要删除链表中重复的元素只需要遍历链表即可。让current指向链表的头节点head,current从链表的头节点开始遍历; 如果current的值和current.next的...

2021-03-26 09:05:23 2129 6

原创 面试必备——HTTP协议

HTTP1.1 默认保持长连接(HTTP persistent connection),数据传输完成了保持 TCP 连接不断开(不发 RST 包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。在 HTTP/1.0 中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次 HTTP 操作,就建立一次连接,任务结束就中断连接。

2021-03-25 19:34:50 500

原创 个人博客项目梳理

用户登录,查询文章列表,查询文章详情,新增文章、修改文章、修改文章。使用的主要技术:Servlet:使用了模板方法,结合jakson框架,统一响应数据格式的封装;进行统一个异常处理(使用自定义异常)MySqljackson框架做序列化jquery框架ajax提交DBUtil:数据库连接池通过双重校验多的单例模式完成Filter:完成用户会话的统一管理富文本编辑器实现博客文章的展示,图片上传文章相关的后端接口:都是需要登录状态才能够进行操作 返

2021-03-25 11:20:44 1961 4

原创 Java并发编程——Synchronized 关键字真的懂了吗?

Synchronized底层实现原理

2021-03-20 19:52:44 245 3

原创 生产者消费者模型

线程间通信使用的API:wait():让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁.notify():唤醒当前对象上等待的线程(唤醒单个线程)notifyAll():唤醒所有的线程这三种方法都是Object类的方法;先对对象加锁,才能调用上面的三个方法(调用这三个方法必须是在synchronized代码块中)线程间通信的过程:消费者一直消费生产者一直生产20个消费者线程,消费者每次消费一个10个生产者线程,生产者每次生产三个最大库存为100pub

2021-03-19 17:00:44 160

原创 二叉树

树以及二叉树的总结,二叉树的面试题

2021-03-19 16:59:52 297

原创 浅析哈希表——hash函数、hash冲突以及HashMap、HashSet

什么是哈希表?哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O( log N),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索.

2021-03-14 17:15:57 508

原创 Java多线程(2)——详解Thread类

Thread类线程指的是一系列执行的程序。JVM允许应用同一时刻多个线程并行执行,那如何来管理多个线程呢?——Thread类Thread类用于操作线程,是所有涉及到线程操作(如并发)的基础。Thread类是JVM用来管理线程的一个类,每一个线程都有一个唯一的Thread类与之对应。Thread 类的对象就是用来描述一个线程执行流的,JVM 会将这些 Thread 对象组织起来,用于线程调度,线程管理。常用API静态方法实例方法线程状态状态转移...

2021-03-14 08:37:44 533

原创 “先把排序搞懂吧!!!“——排序算法总结

七大排序总结

2021-03-10 23:59:21 287 1

原创 Java多线程(1)——线程的创建

进程与线程线程的创建继承Thread类实现Runnable接口实现Callable接口——了解创建线程——变形进程与线程程序是指令和数据的有序集合,本身没有任何运行的含义,是一个静态的概念,进程是执行程序的一次执行过程,它是一个动态的概念。通常在一个进程中可以包含若干个线程,一个进程中至少有一个线程。区别:进程是系统资源分配的最小单位。 线程是CPU调度和执行的最小单位。 同一个进程的各线程之间共享内存和文件资源,可以不通过内核进行直接通信 线程的创建、切换

2021-03-07 23:56:51 191 1

原创 剑指Offer——最小的K个数(Java)

题目描述输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例示例1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例2:输入:arr = [0,1,2,1], k = 1输出:[0]解题思路方法1:对于该题最简单的思路就是把输入的n个整数进行排序,排序之后位于最前面的K个数就是最小的K个数。这种思路的时间复杂度为O(n*log(n))...

2021-03-07 14:39:17 481 2

原创 栈和队列总结:一篇搞懂栈和队列的实现和使用

栈概念栈是一种特殊的线性结构,只允许在固定的一段进行插入和删除操作。进行插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵循先进后出的原则。操作入栈(压栈):栈的插入操作叫做入栈。入数据在栈顶出栈:栈的删除操作。出数据也在栈顶取栈顶元素:取出栈顶的元素。实现利用顺序表实现,使用尾插和尾删的方式实现 利用链表实现,在头尾都可以实现public class MyStack { //利用顺序表实现 private int[] arra.

2021-03-06 10:31:03 504 1

原创 Socket实现简单的TCP通信

socket编程

2021-03-05 17:55:16 1249

原创 ArrayList和LinkedList

ArraylistArrayList是List接口的实现类,ArrayList的实现原理上是顺序表。要实现一个ArrayList,首先要实现一个List接口。ArrayList的常用方法有:boolean add(Integer e);void add(int index, Integer e);Integer remove(int index);boolean remove(Integer e);Integer get(int index);Integer set(int inde

2021-03-05 14:56:10 362 1

原创 Java:List常用方法

Listinterface List<E> extends Collection<E>一个有序集合也成为序列,每一个元素被插入的位置有精确的控制。List是一个接口,ArrayList和LinkedList实现了ListList代表的是“线性表”,ArrayList代表的是“顺序表”,LinkedList代表的是“链表”用户可以通过它们的正数索引(在列表中的位置)访问元素,并在列表中搜索元素。List常用方法:方法签名 功能描述 boole.

2021-03-03 19:15:57 1382 1

原创 Java集合类Collections常用方法总结

Collections类public class Collections extends ObjectCollections类是Java中针对集合类的一个工具类,这个类中只包含操作或返回集合的静态方法。Collections类官方文档对集合进行排序sort 反转集合中元素的顺序reverse 对集合中元素进行随机排序shuffle fill(List list,Object o)方法的使用(含义:用对象o替换集合list中的所有元素) copy min max indexO

2021-03-01 18:17:12 698 3

原创 剑指Offer13:调整数组顺序使奇数位于偶数前面

调整数组顺序使奇数位于偶数之前题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。示例示例1:输入:[1,2,3,4]返回值:[1,3,2,4]示例2:输入:[1,2,3,4,5,6,7]输出:[1,3,5,7,2,4,6]思路:不考虑时间复杂度,最简单的思路就是从头扫描数组,每碰到一个偶数,拿出这个数字,并把位于这个数字后面的..

2021-02-28 18:14:14 239 2

原创 Arrays类常用方法总结

目录Arrays类常用方法数组转列表asListList asList(T...a)数组进行内部排序sortvoid sort(Object[] array)void sort(T[] array, Comparator comparator)void sort(Object[] array, int fromIndex, int toIndex)void sort(T[] array, int fromIndex, int toIndex, Comparator ...

2021-02-26 10:24:02 1100 3

原创 Java集合框架

集合容器概述集合的特点集合的特点主要有如下两点: 对象封装数据,对象多了也需要存储。集合用于存储对象。 对象的个数确定可以使用数组,对象的个数不确定的可以用集合。因为集合是可变长度的。 集合框架Java集合框架,又称为容器,是定义在java.util 包下的一组接口(interfaces)和其实现类(classes)。其主要表现为将多个元素置于一个单元中,用于对这些元素进行快速、便捷的存储、检索、管理,即俗称的增删查改CRUD。集合框架是为表示和操作集合而规定的一种统

2021-02-25 12:57:08 296

原创 Java泛型总结

什么是泛型?集合容器类在设计或声明阶段不能确定这个容器到底实际存的是什么类型的对象,在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。所谓泛型 :就是允许在定义类、接口时通过一个表示类中某个属性的类型或者时某个方法的返回值及参数类型。这个类型将在使用时(如:继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数)。把元素的类型设计成一个参数,这个类型参数就叫做泛型。【相当于标签】泛型的本质是参数化类型,即所操作的数据类型被指定为一

2021-02-24 18:05:44 242 2

原创 Leetcode:三角形最小路径和(Java)

题目描述

2021-02-18 12:05:45 273 1

空空如也

空空如也

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

TA关注的人

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