自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Selenium进行Web自动化测试

一、Selenium简介Selenium是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。Selenium测试直接云运行在浏览器中,就像真正的操作用户一样。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序是否能够很好的工作在不同的浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Selenium工具集主要包括:Selenium IDE(集成开发环境)是一个创建测试脚本的原型工具。他是一个Firefox插件,实现简

2021-03-20 11:50:22 390

原创 Java设计模式—单例模式,工厂模式,迭代器模式

Java设计模式—单例模式,工厂模式,迭代器模式一、单例模式1.饿汉模式2.懒汉模式(非线程安全)3.懒汉模式(线程安全)二、工厂模式1.简单的工厂模式2.工厂模式3.抽象工厂模式三、迭代器模式一、单例模式**单例模式:**保证一个类仅有一个实例,该类负责创造自己的唯一实例。这个类提供了一种访问其唯一实例的方式,可以直接访问,不需要实例化该类对象。单例模式的特点:(1)只有一个实例(2)自我实例化(3)提供全局访问点(静态方法)直接用类调用方法,便可获得该类的唯一实例1.饿汉模式类加载时就初

2021-03-19 22:22:52 396

原创 jmeter性能测试

jmeter性能测试一、性能测是的步骤二、JMeter脚本编写1.添加线程组2.添加HTTP请求3.添加察看结果树4.添加用户自定义变量5.添加断言6.添加断言结果7.添加聚合报告三、执行性能测试1.配置线程组2.执行测试四、分析测试报告一、性能测是的步骤1.性能测试准备1)需求分析2)明确性能测试目标(指标值)3)了解软件功能指定测试计划4)编写测试用例5)执行测试用例并得到测试报告2.搭建性能测试环境1)工具选型与准备2)被测系统环境搭建(服务器,服务版本更新,数据库数据准备)3)

2021-03-18 22:37:31 505

原创 Postman接口测试

Postman接口测试整个过程的总结:postman发送请求到服务器服务器根据请求把结果返回给postmanpostman把结果显示给用户一、Postman背景介绍用户在开发或者调试网络程序或者时网页B/S模式的程序的时候需要一些方法来跟踪网页请求,Postman可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。二、请求方式Postman请求方式有很多种,比如Get,Post,Put,Delete等,我们重点介绍Get.

2021-03-18 22:08:45 407

原创 UDP协议介绍

UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。但是UDP不提供可靠性(因为它不提供超时重传,出错重传等功能)它把应用程序传给IP层的数据发送出去,但是并不保证他们能到达目的地。UDP的封装:UDP首部1.端口号端口号表示发送进程和接收进程,TCP端口号与UDP端口号是相互独立的。(当两种协议同时提供某种致命服务的时候,两种协议通常选择相同的端口号,纯粹是为了方便)UDP长度字段指的是UDP首部和UDP数据报的字节长度,该

2021-03-18 20:12:53 340

原创 Java面向对象的理解

Java面向对象的理解一、面向对象的概念二、面向对象的特点1.封装性2.继承性3.多态性一、面向对象的概念面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。二、面向对象的特点1.封装性封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。2.继承性继承性主要描述的是类与类之间的关系,通过继承,可以在

2021-03-17 20:58:15 103

原创 SpringMVC学习

SpringMVC学习SpringMVC的介绍MVC模式的演进SpringMVC的介绍Spring MVC是属于SPring的一个模块SpringMVC和Spring无序通过中间整合即可以进行使用Spring MVC 是一个基于MVC的Web框架Java EE体系结构包括四层,从上到下应用层,web层,业务层,持久层Struts和Spring MVC是web层的框架,Spring是业务层的框架,Hibernate和Mybatis是持久层框架Spring MVC是一种基于Java,实现了Web的

2020-11-12 21:51:17 181

原创 Spring框架介绍

Spring框架Spring IOC介绍Spring容器管理对象Spring的依赖Spring的配置文件(applicationContect.xml)创建资源IOC容器管理对象通过容器来获取对象Spring IOC容器介绍ApplicationContext的常见的实现类基于XML配置方式装配BeanSpring IOC介绍Spring的核心思想之一就是 IOC Inversion Of Control即 控制反转那么什么是控制反转呢?控制反转就是将对象的创建交给外部容器完成,Spring使用控制

2020-11-07 20:18:53 234

原创 Mybatis框架

1.JDBC编程及存在的问题1.1JDBC编程步骤首先进行数据准备:在数据库中创建一张表其次是引入jar包:(jar通过maven管理)<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </de

2020-10-28 22:32:40 1366

原创 Java多线程面试之线程通信

1.为什么wait/notify/notifyAll是Object类中的方法,而不是Thread里的方法2.等待通知机制中wait/notify/notifyAll方法的作用3.notify/notifyAll的区别?4.wait()和sleep()的区别?5.生产者消费者模型6.await方法的使用为什么需要绑定到一个condition对象上7.一个ReenteantLock对象可以拥有多个Condition对象,这些对象有什么作用...

2020-09-20 21:54:35 201

原创 Java多线程面试之线程同步

线程同步1.并发编程的三大特性?2.synchronized同步代码块和同步方法的底层原理3.关于synchornzied锁升级的过程1.并发编程的三大特性?原子性保证一个操作或多个操作要么全部执行且在执行过程中没有任何打断、要么全部不执行可见性多个线程访问同一共享数据的时候,如果某一个线程修改了此共享数据,那么其他线程能够立即看到此数据的改变。有序性代码执行时的顺序与语句顺序一致。也就是说执行前不经历重排序操作。2.synchronized同步代码块和同步方法的底层原理对于synchro

2020-09-20 20:44:00 168

原创 Java多线程面试之线程池

线程池1.为什么要出现线程池?2.Java当中的线程池?3.线程池的状态4.execute方法和submit方法的区别1.为什么要出现线程池?1)多线程的劣势?线程是不能无限的进行创建,当线程创建数量比较多的时候,反而会影响系统的性能a.线程的创建和销毁会消耗一定的时间b.线程需要占用内存资源,大量的线程创建会导致OOMc.大量的线程回收会给GC带来比较大的压力d.线程抢占资源进行上下文切换是一个耗时的过程2)什么是线程池?线程池是指事先创建若干个可执行的线程放入一个池子里面,当前有任务的

2020-09-20 15:30:22 102

原创 Java多线程面试之线程安全的集合

线程安全的集合1.JDK1.8底层数据结构与1.8之前的区别2.ConcurrentHashMap中putVal的流程3.为什么是tabAt(tab, i = (n - 1) & hash)),而不是table[index]?1.JDK1.8底层数据结构与1.8之前的区别1.8之前HashMap底层是数组加链表的形式数组的默认长度为16,加载因子为0.75,也就是160.75=12(阈值)当计算出元素的位置在数组中冲突时,那么会以链表的形式存储新的元素,新的元素插在链表的头部,然后将链表下

2020-09-20 14:24:28 229

原创 Java多线程之基础知识

Java多线程之基础知识1.Callable接口和Runnable接口的区别2.线程六状态之间的转换3.start()方法的调用和run()方法调用有什么区别?4.sleep和yield的区别5.isInterrupted和interrupted方法之间的区别1.Callable接口和Runnable接口的区别1)Callable->call Runnable->run2)callable任务的执行存在返回值,而Runnable任务的执行不能有返回值3)call方法可抛出异常,而run方

2020-09-16 21:45:34 113

原创 Java面试之文件IO

文件IO1.字符流和字节流的区别2.JavaIO中常见类,字节流,字符流,阻塞方法3.序列化的目的?4.如何去实现序列化以及反序列化?1.字符流和字节流的区别字符流:字符数据,字符流将原始数据解释成字符的序列;依赖编码方法,文件数据存储依赖文件编码方法,字符流的输入和输出需要编码和解码,效率比较低字节流:字节(二进制)数据:字节流会将数据解释称原始的二进制数据可移植:与主机的编码方法是无关效率高:二进制数据不需要编码和解码2.JavaIO中常见类,字节流,字符流,阻塞方法(1)Java IO中

2020-09-14 22:39:51 305

原创 抽象类与接口

抽象类定义(1) 含有抽象方法的类就叫抽象类,但值得注意的是抽象类不一定含有抽象方法含有抽象方法->抽象类不含抽象方法->普通类是否可以实例化对象抽象类用于继承当中(2)抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决...

2020-09-14 21:44:58 95

原创 Java面试题之集合框架库02

1.ArrayDeque、Stack、LinkedList区别(1)底层数据结构ArrayDeque:public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, SerializableStack:publicclass Stack<E> extends Vector<E

2020-09-12 22:14:52 102

原创 Java面试题之集合框架库01

1.什么是集合简单来说,Java集合就是一个简单存放对象的容器。2.集合、数组的差别?(1)集合和数组的差别a.数组是静态,集合是静态;数组静态集合是动态b,集合功能更全面c.数组需要指定类型Integer[] arr,存储数据必须是这个类型;集合创建时不需要(可有可无)如果有存储数据必须是这个类型,如果没有存储数据可以是任意的。注意:集合指定存储数据类型的方式用的较多,原因更好管理。d.数组在指定的类型时既可以使用普通类型,也可以使用引用类型。集合只能使用引用类型。e.数组Java内置类

2020-09-12 21:29:43 101

原创 五种IO模型

一、同步阻塞(BIO)发送方发送请求之后一直等待响应。 接收方处理请求时进行的IO操作如果不能马上等到返回结果,就一直等到返回结果后,才响应发送方,期间不能进行其他工作。代码:sever端public class BIOClient { private Socket socket; private Scanner scanner; private final int port = 5676; private final String IP = "127.

2020-08-06 17:16:59 212

原创 TCP/IP协议介绍

一、建立连接1.三次握手第一次握手客户端将标志位SYN置为1,并且产生一个随机值seq=x,并将数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器确认第二次握手当服务端收到数据包时,由标志位SYN=1知道客户端请求建立连接,同时服务器端将SYN置为1,ACK=1,ack=x+1,并产生一个随机值seq=y,将此数据包发送给客户端表示确认连接,此时服务器端处于SYN_RCVD状态第三次握手客户端收到确认之后,检查ack是否等于x+1,ACK是否为1,如果正确将AC

2020-08-06 16:38:39 402

原创 notify与notifyAll的区别,sleep与wait的区别

目录一、notify与notifyAll的区别二、sleep与wait的区别一、notify与notifyAll的区别锁池:  假设线程A已经拥有对象锁,线程B、C想要获取锁就会被阻塞,进入一个地方去等待锁,这个地方就是该对象的锁池;等待池:  假设线程A调用某个对象的wait方法,线程A就会释放该对象锁,同时线程A进入该对象的等待池中,进入等待池中的线程不会去竞争该对象的锁。1、notify只会随机选取一个处于等待池中的线程进入锁池去竞争获取锁的机会;2、noti.

2020-08-04 09:52:32 248

原创 网络——5层结构介绍

计算机网络的协议有七层、四层还有五层,教材的版本不同,所采用的协议结构也不同,我们以五层为例:一、应用层应用层为最高层:能够和用户交互,所有能够产生网络流量的程序。它使得应用程序能够直接运行于传输层之上,直接为用户提供服务。包含的主要协议有文件传输协议(File Trabsfer Protocol, FTP)、简单 邮件传送协议(Simple Mail Transfer Protocol, SMTP)、远程登陆协议、域名服务协议(Domain Name Service, DNS)、网络新闻传送协

2020-07-30 22:08:23 8246

原创 进程与线程之Synchronized关键字

目录一、使用方式1.同步代码块2.同步方法3.修饰静态方法4.使用规则5.简单的应用二、底层原理1.对象监视器monitor2.同步代码块(1)monitor.enter(3)monitor.exit3.同步方法一、并发编程的三大特性1.原子性原子操作是不可分割的操作,一个原子操作是不会被其他线程打断的,所以不需要同步2.可见性多个线程访问同一共享数据的时候,如果某一个线程修改了此共享数据,那么其他线程能够立即看到此数据的改变。3.

2020-07-27 22:54:54 464

原创 进程与线程

目录一、进程和线程的基本认识1.进程的基本认识2.线程的基本认识二、线程的创建1.继承Thread类一、进程和线程的基本认识1.进程的基本认识进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,独占内存空间,保持各自的运行状态,相互之间互不干扰,进程是并发执行程序在执行过程资源分配和管理的基本单位,是应用程序运行的载体。2.线程的基本认识在程序执行某一个任务时,此任务被称作线程,线程有时候被称为轻量级的.

2020-07-22 16:27:15 111

原创 Map接口下的集合

HashMap1.HashMap1.1特点1.2 哈希冲突1.3HashMap实现原理1.3.1几个重要字段1.3.2 Hash函数1.3.3 返回数组下标1.3.4 扩容1.3.5 数组的长度一定是 2 次幂1.3.6 put方法1.3.7 remove 方法1.3.8 get方法1.4 缺点2.LinkedHashMap3.TreeMap3.1 **HashMap与TreeMap的区别:**3.2 **时间复杂度:**3.3 TreeMap 底层数据结构3.4 比较器1.HashMap1.1特点首

2020-05-21 16:31:49 741

原创 List接口下集合的特点

List接口下集合的特点1.ArrayList2.Vector3.Stack4.LinkedList1.ArrayListArrayList集合的接口 implements List<E>, RandomAccess, Cloneable, java.io.Serializable private class Itr implements Iterator<E>...

2020-05-07 21:53:24 110

原创 Maven、JDBC与链接池

Maven、JDBC与链接池一、Maven简介1.什么是Maven2.Maven是干什么的?3.Maven使用二、JDBC1.什么是JDBC?2.使用JDBC的步骤:三、链接池1.连接池的使用流程:2. 如何真正的关闭连接一、Maven简介1.什么是MavenMaven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Mav...

2020-04-16 18:11:42 652

原创 索引、事务与MySQL优化

索引与事务一、索引1.什么是索引2.索引的作用3.索引建立在哪儿4.索引这样的结构放在哪儿5.索引的种类6.索引的优缺点7.索引的设计原则8.索引的创建9.索引的数据结构9.1B树索引9.1.1 MyISAM B树索引9.1.2 InnoDB B树索引9.1.2 Memory B树索引9.2 B+树索引二 、事务一、索引1.什么是索引在关系数据库中,索引是一种单独的、物理的对数据库表中一列或...

2020-04-15 21:20:28 163

原创 JVM介绍

一、JVM基础1.数据类型基本类型包括:byte、short、int、long、char、float、double、Boolean、returnAddress引用类型包括:类类型、接口类型、数组1.栈与堆栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。栈代表了处理逻辑,而堆代表了数据...

2020-03-24 15:37:59 603

原创 mysql数据库总结

MySql的登录登出操作//登录//输入密码登录//登出exit;一、关于库的操作1.数据库的创建与删除//创建create database <数据库名>;//删除drop database <数据库名>;2.数据库的查看与使用//查看show databases;//使用use <数据库名>;二、关于表的操作1.表的创...

2020-02-29 13:50:56 246

原创 泛型

一、泛型类泛型->参数化类型->只在编译期有效 进行类型安全检测MyArrayList my=new…类型推到-> MyArrayList推导此时T类型就是String类类名+<泛型参数>{->T E K V}泛型参数->运行期间:T 直接类型擦除到 Objectlass 类名称 <泛型标识:可以随便写任意标识号,标识指定的泛型的类...

2020-02-03 16:27:42 75

原创 一维数组与二维数组

一维数组定义当数组中每个元素都只带有一个下标时,称这样的数组为一维数组1.格式类型标识符 数组名[常量表达式]说明:①数组名的命名规则与变量名的命名规则一致②常量表达式表示数组元素的个数。可以是常量或符号常量,不能为变量。int a[10]; //数组a的定义是合法的int a[n]; //若n是变量则数组a的定义是非法的声明一个变量就是在内存中划出一块合适的空间...

2020-02-02 13:07:11 260

原创 异常、类加载、内部类与多态实现的介绍

Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual M

2019-11-24 21:10:08 127

空空如也

空空如也

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

TA关注的人

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