自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 反射机制了解

一、Java反射机制概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。1.1 动态语言是一类在运行时可以改变其结构的语言:例如新

2022-09-15 15:22:00 192

原创 网络协议概述

一、网络概述计算机网络是指通过传输介质、通信设备和网络通信协议、将分散在不同地点的计算机互联起来,实现资源功能共享和数据传输的系统。传输介质:光纤、线缆…通信设备:路由器、猫、交换机…网络通信协议:http、tcp、ip…网络编程:指编写程序是互联网中两个或者多个设备直接进行数据传输1.1 OSI模型OSI(Open System Interconnection)网络通信进行分层:七层物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI参考模型各层解释物

2022-09-15 15:20:25 575

原创 代理模式(Proxy)

一、什么是代理模式代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.优点:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式,主要有三种静态代理、动态代理和Cglib代理。二、静态代理静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类特别提醒:代理对象与目标对象要实现相同的接口,然后通过调用相同

2021-10-06 23:11:12 266

原创 Map集合(HashMap、TreeMap、Hashtable)

一、Map集合概述Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap 中的 key 和 value 都可以是任何引用类型的数据Map 中的key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法常用String类作为Map的“键”key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 valueMap接口的常用实现类:HashMap、TreeMap、Lin

2021-08-17 11:48:58 196

原创 多线程总结

文章目录一、多线程概述1.1 线程、进程、多线程二、线程实现(重点)2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口(了解即可)2.4 Lamda表达式三、线程状态3.1 停止线程3.2 线程休眠3.3 线程的优先级四、线程同步(重点)4.1 线程同步条件(队列和锁)4.2 同步方法和同步块4.2.1 同步方法4.2.2 同步块4.3 死锁4.4 lock锁一、多线程概述1.1 线程、进程、多线程◆程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个

2021-08-12 15:08:42 128

原创 java基础复习(二)

文章目录一、方法1.1 方法的定义1.1.1 break和return的区别1.2 重载二、初识面向对象(OOP)2.1 类和对象2.2 面向对象与面向过程(理解)2.3 使用new关键字创建对象三、面向对象三大特性3.1 封装3.2 继承3.2.1 super3.2.2 方法重写3.3 多态3.3.1 instanceof(类型转换)四、抽象类和接口4.1 抽象类4.2 接口五 、内部类六、异常机制一、方法1.1 方法的定义方法的声明格式:修饰符 返回值类型 方法名(参数类型 形参1, 参数类

2021-08-11 18:27:09 119

原创 java基础复习(一)

文章目录一、变量与运算符2.1 关键字2.1.1 关键字类别2.2 标识符(Identifier)(1)标识符(2)定义合法标识符规则2.3 变量(1)变量的概念(2)变量的作用(3)使用变量注意2.3.1 变量的分类(1)按数据类型分类(2)按声明的位置分类2.3.2 定义变量的格式2.3.3 基本数据类型变量间的运算规则(1)自动类型转换(只涉及除boolean之外的七种基本数据类型)(2)强制类型转换(自动类型转换的逆运算)二、运算符2.1 算术运算符2.2 赋值运算符2.3 比较运算符(关系运算符)

2021-08-10 17:08:43 89

原创 spring03:使用注解开发

一、使用注解开发环境配置1.1 向pom.xml添加依赖aop包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>5.0.4.RELEASE</version> </dependency>1.2 在配置文件

2021-08-04 10:37:39 78

原创 Spring02:依赖注入(DI)

一、依赖注入1.1 概念依赖注入(Dependency Injection,DI)。依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .1.2 注入类型1、构造器注入可参考IOC有参方法创建对象<!-- index指构造方法 , 下标从0开始 --> <constructor-arg index="" value=""/> <!-- name指参数名 --> &

2021-08-03 18:34:15 96

原创 Spring01:IOC理论及实战

一、Spring框架Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器(框架)。1.1 框架组成Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式 .1.2 每个模块的功能核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是:BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实

2021-08-03 11:04:10 305

原创 剑指 Offer 用两个栈实现队列

问题描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“append

2021-07-17 18:34:39 79

原创 图的存储及遍历

文章目录一、图的定义及分类1.1 图的分类二、 无向图2.1 图的相关术语2.2 图的存储结构2.2.1 邻接矩阵2.2.2 邻接表三、无向图的代码实现3.1 图的创建四、图的遍历4.1 深度优先遍历4.2 广度优先遍历一、图的定义及分类定义∶图是由一组顶点和一组能够将两个顶点相连的边组成的特殊的图︰1.自环:即一条连接一个顶点和其自身的边;2.平行边:连接同一对顶点的两条边;1.1 图的分类按照连接两个顶点的边的不同,可以把图分为以下两种:无向图:边仅仅连接两个顶点,没有其他含义;

2021-07-17 10:42:46 1793 1

原创 mybatis配置及解析

文章目录一、mybatis使用步骤1.1 创建数据库表1.2 创建mybatis项目1.3 引入mybatis依赖1.4 配置核心配置文件(mybatis-config.xml)1.5 Pojo类(User.java)1.6 mapper接口文件(UserMapper.java)1.7 mapper的xml文件(UserMapper.xml)1.8 执行操作(获取 sqlSessionFactory对象)1.9 创建测试类·二、核心配置文件解析2.1 environments元素2.2 Propertie

2021-07-13 13:38:10 162

原创 HTML基础(二)

一、初识表单post和get提交表单语法action 表单提交的位置,可以是网站,也可以是一个请求处理器method: post get 提交方式get方式提交:我们可以在url中看见我们提交的信息,不安全,高效post方式提交:比较安全,可以传输大文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>表单学习</ti

2021-07-13 09:36:02 71

转载 Git基本知识及配置

一、Git基本知识及配置https://mp.weixin.qq.com/s?__biz=Mzg2NTAzMTExNg==&mid=2247483866&idx=1&sn=fe987cd24448bd6eb2138cfd43a82cf8&chksm=ce610779f9168e6ff1a7e035517d5163e03fa6229a7688eb18dfd70780fe6980fbdd8728d0f0&mpshare=1&scene=23&srcid=

2021-07-06 22:11:02 65

原创 HTML基础(一)

一、初始HTML1.1 什么是HTMLHTML: Hyper Text Markup Language (超文本标记语言)超文本包括:文字、图片、音频、视频、动画等1.2 HTML基本结构<body>、 </body>等成对的标签,分别叫开放标签和闭合标签单独呈现的标签(空元素),如<hr/>;意为用/来关闭空元素二、网页基本信息<!--DOCTYPE:告诉浏览器,我们要使用什么规范--><!DOCTYPE html><

2021-06-29 22:59:00 198

原创 Web自动化测试4(CSS表达式)

文章目录一、CSS Selector 语法选择元素原理二、根据 tag名、id、class 选择元素2.1 根据 tag名 选择元素2.2 根据id属性选择元素2.3 根据class属性选择元素三、选择子元素和后代元素四、根据属性选择五、验证 CSS Selector六、选择语法联合使用七、组选择一、CSS Selector 语法选择元素原理HTML中经常要为某些元素指定显示效果,比如前景文字颜色是红色, 背景颜色是黑色, 字体是微软雅黑等。那么CSS必须告诉浏览器:要选择哪些元素 , 来使用这样的

2021-06-29 10:39:39 246 1

原创 工厂模式和抽象工厂模式

一、工厂模式1.1 核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。1.2 三种模式简单工厂模式用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改已有代码)工厂方法模式用来生产同一等级结构中的固定产品(支持增加任意产品)抽象工厂模式围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。1.2.1 简单工厂模式创建汽车接口package factory;public interface Car

2021-06-28 21:46:00 562 1

原创 Web自动化测试3(Selenium操控元素)

文章目录操控元素的基本方法1.1 点击元素1.2 输入框1.3 获取元素信息1.4 获取元素属性1.5 获取元素文本内容操控元素的基本方法选择到元素之后,我们的代码会返回元素对应的 WebElement对象,通过这个对象,我们就可以操控元素了。操控元素通常包括点击元素在元素中输入字符串,通常是对输入框这样的元素获取元素包含的信息,比如文本内容,元素的属性1.1 点击元素点击元素 非常简单,就是调用元素WebElement对象的 click方法。前面我们已经学过。这里我们要

2021-06-27 23:20:38 596 4

原创 Web自动化测试2(Selenium选择元素)

一、根据id选择元素二、根据class属性、tag名选择元素web自动化的难点和重点之一,就是如何选择我们想要操作的web页面元素。除了根据元素的id,我们还可以根据元素的class属性选择元素。大家请访问这个网址 http:/lf.python3.vip/wehauto/sample1.html...

2021-06-27 18:10:27 620 7

原创 Web自动化测试(Selenium工具)

一、自动化原理Selenium WebDriver ( Selenium 3)提供了web自动化的各种语言(java, python,ruby等等)调用接口库通过各种浏览器的驱动(web driver)来驱动浏览器的二、安装客户端库支持各种语言: java、csharp、pvthon、ruby、php、js、perpython : pip install selenium各浏览器 Driver:Chromehttps://sites.google.com/a/chromium. o

2021-06-27 11:28:46 330 1

原创 Collection体系集合

一、什么是集合概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。和数组区别:(1)数组长度固定,集合长度不固定(2)数组可以存储基本类型和引用类型,集合只能存储引用类型。位置: java.util.*;二、Collection体系集合2.1 Collection父接口Colleetion层次结构中的根接口。Collection 表示一组对象,这些对象也称为collection的元素。一些collction允许有重复的元素,而另一些则不允许。一些collection是有序

2021-06-25 09:08:13 442

原创 树的性质及其遍历实现

一、树的简介树( tree )是n (n≥0)个结点的有限集。1)或者是一棵空树( n = 0 ),空树中不包含任何结点。2) 或者是一棵非空树(n >0 ),此时有且仅有一个特定的称为根( root )的结点;当n > 1时,其余结点可分为m ( m > 0 )个互不相交的有限集T1,T 2 , … ,T m ,其中每一个本身又是一棵树,并且称为根的子树( sub tree ) ).例如图( a )是一棵空树、( b )是只有一个根节点的树、©是一棵有10个结点的树,其中A是根

2021-06-23 16:26:51 168

原创 线性表(顺序表、链表)

一、线性表线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。1.1 前驱元素若A元素在B元素的前面,则称A为B的前驱元素1.2 后继元素若B元素在A元素的后面,则称B为A的后继元素1.3线性表的特征数据元素之间具有—种“—对一”的逻辑关系。.1.第一个数据元素没有前驱,这个数据元素被称为头结点;2.最后一个数据元素没有后继,这个数据元素被称为尾结点;3.除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后继。如果把线性表

2021-06-22 10:28:30 1772

原创 数据库事务

文章目录一、事务概述1.1 什么是事务?1.12 什么是一个完整的业务逻辑?1.13 只有DML语句才会有事务这一说,其它语句和事务无关! ! !1.14 为什么需要事务?二、一个事务如何做到多条DML语句同时成功,或者同时失败?三、如何提交事务、如何回滚事务怎么将mysql的自动提交机制关闭掉呢?回滚事务提交事务四、事务的特性五、事务的隔离级别一、事务概述1.1 什么是事务?一个事务其实就是一个完整的业务逻辑。是一个最小的工作单元。不可再分。1.12 什么是一个完整的业务逻辑?假设转账,从A账

2021-06-18 20:15:46 129

原创 SQL注入现象及其解决方案

一、SQL注入1.1、SQL注入产生的原因导致SQL注入的根本原团是:用户不是一般的用户, 用户是懂得程序的,输入的用户名信息以及密码信息中含有SQL语句的关键字,这个SQL语句的关键字和底层的SQL语句进行“字符串拼接”,导致原SQL语旬的含义被扭曲了。最最最主要的原因是:用户提供的信息参与了SQL语句的编译。根本原因:先进行了字符串拼接,然后再进行编译举个例子!数据库信息表t_user为:连接数据库模拟用户登录package resource;import java.sql.*;

2021-06-16 10:41:59 840

原创 java排序算法

一、直接插入排序基本思想:将一个记录插入到已排序的有序表中,使插入后的表仍然有序对初始关键字{49 38 65 97 76 13 27 49}进行直接插入排序package Sort;//插入排序public class InsertSort { public static void main(String[] args) { int [] arr={49,38,65,97,76,13,27,49}; sort(arr);

2021-06-14 23:04:56 3121 6

原创 IO流基础

一、 IO流原理及流的分类1、Java IO原理I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出output:将程序(内存)数据输出到磁盘、光盘等存储设备

2021-06-09 20:22:06 68

原创 ArrayList和LinkedList

一、ArrayList数组长度不可以发生改变ArrayList集合的长度可以随意改变对于ArrayList,有一个 代表泛型泛型:也就是装在集合中的所有元素,全部都是统一类型注意:泛型只能是引用类型,不能是基本数据类型错误写法: ArrayList<int> list1=new ArrayList();对于ArrayList直接打印得到的不是地址,而是内容,如果内容是空,得到的是空的中括号【】ArrayList中的常用方法:public boolea

2021-06-07 22:09:23 129

原创 Linux实用指令(一)

文章目录一、Linux指令运行级别面试题:如何找回丢失的root密码?二、帮助指令三、文件目录类指令四、时间日期类指令五、搜索查找指令六、压缩和解压类指令一、Linux指令运行级别1、Linux有7个级别:常用级别是3和5修改默认运行级别可改文件/etc/inittab的 id:5 initdefault 这一行将 id:5 initdefault 这一行中5这个数字改成对应的运行级别2、切换到指定运行级别的指令基本语法: init[0123456] 示例: init

2021-06-07 17:15:50 247 4

原创 测试基础二(接口测试--->变量)

一、postman二、测试

2021-06-06 17:24:42 478

原创 Linux用户和组

一、关机重启命令命令含义shutdown -h now立刻进行关机shutdown -h 11分钟后会关机shutdown -r now现在重新启动计算机halt关机reboot现在重新启动计算机sync把内存数据同步到磁盘二、用户的登录和注销登陆时尽量少用root账号登陆,应为他是系统管理员,最大权限,避免操作失误,可以利用普通用户登录,登陆后再用“su-用户名”,命令来切换成系统管理员身份在提示符下输入lo

2021-06-06 00:04:53 106 2

原创 测试基础一(接口测试)

一 、接口测试流程拿到接口文档/需求文档(文档评审)根据需求文档设计测试计划编写测试用例执行测试用例编写测试报告二、postman接口测试1、postman软件使用教程1. 下载地址:https://www.postman.com/2. 安装教程:注册Postman账号并登录安装完成!3. postman创建文件要进行接口测试的前提是先创建一个Collections,然后在Collections里面创建request。(1)点击Workspaces,找到My W

2021-06-05 17:19:56 774

原创 Vi和Vim编辑器

一、 Vi和Vim基本介绍所有的Linux系统内都会内建vi文本编辑器Vim具有程序编辑的能力,可以看作vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补充、编译及错误跳转等方便编程的功能特别丰富。二、vi/vim 的使用基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:- 命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此

2021-06-03 10:07:27 136 3

原创 CentOS 7版本安装及XShell远程连接Linux

一、CentOS 7版本安装下载地址:https://www.centos.org/centos-linux/下载及安装过程:https://blog.csdn.net/weixin_45358467/article/details/115788713?spm=1001.2014.3001.5501二、XShell远程连接Linux1、 XShell下载及安装下载地址:https://xshell.en.softonic.com/download2.安装过程(1)打开Linux终端,输入

2021-06-02 22:47:43 474

原创 重载与重写的区别

重载与重写的区别一、重载1. 定义:方法的重载(overload):在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。”两同一不同“:同一个类、相同方法名 参数列表不同,参数个数不同,参数类型不同2、如何判断重载:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!如下四个方法构成了重载:public class overload{ public void getSum(int i,int j){

2021-05-29 23:13:46 256

原创 查找算法(二分查找、线性查找)

二分查找二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素有序排列。查找过程此实现过程的实施是通过变量left和right控制一个循环来查找元素(其中left和right是正在查找的数据集的两个边界值)。首先,将left和right分别设置为0和arr.length-1。在循环的每次迭代过程中,将mid设置为left和right之间区域的中间值,即 mid=(left+right)/2。如果处于arr[mid

2021-05-29 17:30:05 285

原创 Leecode递归乘法

递归乘法: 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。示例1:输入:A = 1, B = 10输出:10示例2:输入:A = 3, B = 4输出:12提示:保证乘法范围不会溢出分析:A*B=A+A+A+…A(B个A相加)public class diguitest { public static void main(String[] args) { //接受计算结果 int s= ji(3,4);

2021-05-27 16:20:52 78

原创 递归

递归:方法自己调用自己递归的分类:直接递归:方法自身调用自己间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法注意事项:递归一定要有条件限制,保证递归能够停下来,否则会发生栈内溢出 在递归中虽然有限定条件,但递归次数不能太多,否则会出现栈内存溢出 构造方法,禁止递归递归的使用前提:当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归递归地使用:使用递归法计算1~n之间的和分析:1~n之间的和 1+2+3+4+........

2021-05-27 09:17:16 39

原创 File类

File类一、概述1. java.io.File类- 文件和目录名的抽象表示方式- Java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用- File类对文件和文件夹进行操作2. 我们可以使用File类的方法 创建一个文件/文件夹 删除文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 对文件夹进行遍历 获取文件的大小File类是一个与系统无关的类,任何操作系统都可以使用这个类重点: file:文件 dir

2021-05-25 10:07:34 126

空空如也

空空如也

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

TA关注的人

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