自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql索引

索引1:什么是索引?索引其实就是一种为了加速对数据表中的数据行的检索从而创建的分散存储的数据结构(也可以打个比喻:就是书中的目录)注意:1: 一般关系型数据库的中的索引是 硬盘级索引,就是说索引是存放在硬盘中的2:如果程序访问我们数据库中的数据行数如果是几万的数据的规模的话,其实我们无需在意索引,但是当数据规模达到几千万上亿的情况下我们一般就会使用到索引2:索引的作用:索引在数据库中的作用其实是类似于目录在书本中的作用,用来提高查找信息的速度,用索引查找信息的时候,无需对整张表进行扫描,可

2020-09-19 22:47:09 713 1

原创 浅谈锁

锁1:首先我们为什么存在锁?这就要讲到多线程单线程:就是指单个流水线的进程(A→B→C),这样的效率不太高多线程:就像一句话所说:时间就想海绵里的水,挤挤总会有的,指多个单线程同时进行,效率高。资源得到充分的利用2:多线程加锁机制类型1:synchronized2:Reentrantlock3:synchronized加锁的原理及应用在多线程并发编程中synchronized一直是元老的角色,很多人都会称呼它为重量级锁。但是,随着Java SE 1.6对synchronized进行了各种

2020-09-08 15:31:30 319

原创 字符串常见操作

字符串1:字符串常见方法1:length():求去字符串的长度2:charAt():求一个字符串中某个位置的值3:equals():比较两个字符串是否相同4:toLowerCase():将字符串中的大写全部转换成小写5:toUpperCase():将字符串中的小写全部转换成大写6:contains():串1在串2中是否包含7:replace():将字符串中的某些字符替换成目标字符;形如str.replace(“abc”,”ddd”)8:replaceAll():当出现多个相同的时候,将字

2020-08-22 15:29:18 276

原创 两个电梯

测试用例注明: 一般测试用例基本都是从界面测试,功能测试,可靠性测试,安全性测试,易用性测试,性能测试等方面进行编写测试用例电梯的测试用例我们跟平常的编写测试用例方法一样将它分为界面测试,功能测试,停靠算法测试,可靠性测试,易用性测试,可维护性测试编写测试用例1:界面测试2:功能测试3:停靠测试4:可靠性测试5:易用性和可维护性...

2020-08-20 13:09:31 254

原创 websocket

websocket1:与http协议的区别1:http(一问一答)协议只能是客户端主动给服务器发送2:websocket(消息推送)协议弥补了这个缺点,在连接成功建立后,不管是服务端还是客户端都可以主动的向对方发送消息2:使用:服务端(java代码)1:创建类的时候,使用serverEndpoint注解来修饰,指定一个路径,作为跟前端进行交互的2:创建方法(实现类的一些方法):a):onOpen:建立连接时调用b):onClose:关闭连接时调用c):onMessage:收到消息的

2020-07-30 13:14:04 1131

原创 “畅聊”

“畅聊”1:名字解释首先畅聊就是相当于现在的群发功能,然后可以在相关频道中接收发消息,也可以查看历史消息2:需求分析1:打开主页,进行登录功能2:登陆成功之后,进入主页面3:主页面显示的是当前具有的频道列表(当前用户所关注的频道)4:点击某个频道之后,就能看见频道里面的消息内容(某个用户在该频道中发消息,所有在线的用户都能看到)5:每个用户都能发送消息6:还有就是历史消息功能,用户登录上线之后,能够看见从上次下线之后发送的所有历史消息记录,也就是这段之间内错过的消息3:核心技术:web

2020-07-30 11:30:03 7372

原创 性能测试-loadrunner

性能测试相关术语和概念1:并发数严格意义上来说(狭义的说):同一时刻访问系统的统一功能的用户数广义上来说:同一时刻向系统发送请求(可以是不同的功能)的用户数2:响应时间公式:2(网络传输时间+服务器处理时间(包含数据库服务器))+人的反应时间3:事务响应(Transaction Response Time)事务:指的是一组密切相关的操作组合一个事务可能会发送多个http请求,多个http请求的响应时间就是事务响应时间4:每秒事务通过数(TPS)衡量系统性能的一个重要指标5:点击

2020-07-26 09:11:17 215 1

原创 测试框架--unittest

unittest Python功能自动化测试1:作用unittest也是属于单元测试框架,但是和java中的Junit单元测试框架是不一样的,Junit是白盒测试框架,unittest(黑盒)是功能单元测试框架补充: java功能测试框架:test NG2:unittest的框架解析...

2020-07-26 09:09:28 194

原创 自动化测试-Python2

自动化测试之Python功能7:层级定位有多层框架定位# 当有多层框架套用的时候的操作:from selenium import webdriverimport timeimport osdriver = webdriver.Chrome()file_path = 'file:///'+os.path.abspath("e:/login.html")driver.get(file_path)driver.maximize_window()# 从默认页面跳转到frame1# 因为

2020-07-18 22:43:25 100

原创 自动化测试-Python1

自动化测试1:UI自动化测试1:用例维护量大,(前端开发完了,后期时候进行测试)2:页面关联性强,必须在后期介入3:一般适用于功能比较稳定(或者说界面变动相对较少)的时候进行自动化测试2:接口自动化测试1:可在产品前期(后端开发阶段的前期)介入(相比UI测试)2:用例维护量比较小(接口可以重复使用)3:页面关联性小4:接口变动比较小,界面变动频繁的项目注意: 什么情况下,花费时间少,能检测出更多的bug:接口自动化测试3:自动化测试的优势:1:解放人的双手2:兼容性测试的

2020-07-15 22:22:47 173

原创 测试管理工具

测试管理工具1:其他的测试管理工具注意: 现在很多的测试用例都是在Excel上面写的,因为使用管理工具不是很方便:比如:给新人借鉴测试用例书写的时候账户密码不方便等1:QC/ALM:商业版本,这个是收费的,是基于web的管理工具,可以组织和管理应用程序的测试流程的所有阶段,是一个纯的测试管理工具2:CQ:商业版本,这个也是收费的,可用于任务分配,Bug跟踪等,不能进行测试用例的管理,功能不够强大3:JIRA:这个很好用,有试用班(基本没法用),也有商用版,可以管理项目的整个生命周期,产品经理可以

2020-07-14 22:10:02 336

原创 排序算法之插入排序

插入排序插入排序:也是内部排序法,想要将进行排序的元素以插入的方式找寻该元素的适当位置,达到排序的效果。插入排序的思路:将一组数组看成一个无序表和一个有序表组成,开始的时候有序表中只有1个元素,无序表中有n-1个元素,排序过程中每次从无序表中去除一个数据插入到有序表中去即可。插入排序的特点:1:排序需要数组大小-1趟排序2:排序是直接将第一位上的数组认为是一个有序的表插入排序的...

2020-07-02 10:00:52 84

原创 排序算法之希尔排序

希尔排序希尔排序:也相当于一种插入排序,是比插入排序更高效的排序,也成缩小增量排序。希尔排序的思路:就是将一组数据进行分组,将分的每一组进行插入排序即可,到最后直接成为2/2=1,分组为一组的时候,差不多已经有序,然后最后一次继续用插入排序,会很快变成了一个有序数组;说白了就是也将大的数据尽量往后放。希尔排序的代码如下所示:public class DonaldSort { p...

2020-07-02 10:00:26 260

原创 排序算法

排序总结1:排序分类插入排序:直接插入排序,希尔排序选择排序:选择排序,堆排序交换排序:冒泡排序,快速排序归并排序总结:前面的插入,选择,交换排序都是一种内部排序,数据一次性都加载到内存中去;后面的归并排序是一种外部排序2:稳定性稳定:插入排序,冒泡排序,快速排序,归并排序不稳定:希尔排序,选择排序,堆排序3:排序的原理1:插入排序:将整个区间分成有序和无序,每次选择...

2020-07-02 09:59:44 94

原创 排序算法之选择排序

选择排序选择排序:选择排序属于内部排序法,是想要从排序的数据当中,按照指定的规则选取出某一个元素,再依照规定交换位置后达到排序的效果。选择排序的思路:每一轮选取最小的,结果得到的是从小到大的结果;每一轮选取最大的,则得的是从大到小。选择排序的特点:1:选择排序一共要进行数组大小-1次排序2:每一轮排序又是一次循环2.1:先假定当前的数是最小的2.2:然后和后面的每个数进行比较,...

2020-07-02 09:59:06 164

原创 软件测试相关内容

测试总结敏捷开发1:主要特点:适合需求两个软件测试模型1:V模型)

2020-06-28 17:30:06 133

原创 排序算法之冒泡排序以及优化

冒泡排序:冒泡排序的思路:对待排序序列从前向后进行排序(从前向后)依次比较相邻元素的值,若发现逆序则进行交换,使得值较大的数字逐渐往后移动冒泡排序的特点:1:一共要进行数组长度减一趟排序2:每一趟需要进行排序的在减少3:冒泡排序的时间复杂度有有点低,也就是效率有点低冒泡的时间复杂度:事前: O(n^2)事后: 进行测试:结果如下截图所示:例如:80000个数字进行排序的时候,...

2020-02-24 23:20:33 202

原创 数据结构和算法之回溯递归“八皇后问题”

八皇后问题:要求:要求皇后不能再同一行,不能在同一列,也不能在同一个斜线上面思路:1:先要构造八皇后的棋盘:表示皇后应该摆放的位置;这个可以用一位数组进行表示:下标表示的是放在棋盘的第几行,数组中的值表示放在棋盘中的第几列2:思路:(1):第一个皇后放在棋盘的第一行第一列(2):第二个皇后放在第二行第一列,然后判断是否OK,如果不OK,继续放在第二行第二列,第三列,依次将所有列放完...

2020-02-22 23:20:52 145

原创 数据结构和算法之简单的迷宫问题

迷宫问题思想: 用递归解决迷宫问题1:先创建迷宫,用二维数组模拟迷宫地图2:制定一个策略:例如先下→右→上→左等等3:设置一些标识信息:例如:0表示还没有走过;1表示的是墙走不通;2表示这个点可以通;3表示已经走过但是走不通实现迷宫代码和说明:1:用二维数组进行创建迷宫地图: //1·先创建一个数组进行模拟迷宫的地图 int[][]map=new int[8]...

2020-01-16 16:59:11 803

原创 数据结构和算法之归并排序

归并排序(1)思想:就是分而治之1:通俗的来说就是,在分的过程中进行比较,然后合并起来就会变成有序2:归并排序的特点:归并排序的时间复杂度是很低的:因为他的复杂度只是数量减一即可。但是归并排序需要额外的空间开销3:总的思路就是,将每一份数列都分成左右两边直至分到最后还剩一个,然后在分的递归的归的过程中进行比较即可(2)代码如下所示:package com.dataStrcture;...

2019-12-26 22:13:55 87

原创 数据结构和算法之栈2

数组模拟实现栈2(1)简述前缀,中缀和后缀表达式:1·1:也就是对算术表达式构成树之后,对树进行前序,中序,后序遍历后所得到的结果,即称为前中后缀/*1·前缀表达式:(也就是将表达式进行二叉树进行前中后序进行遍历)前缀表达式又名叫波兰表达式 *特点:运算符都位于操作数之前* 2·中缀表达式:运算过程和人们记性运算过程是一样的思维,但是相对于计算机运算是比较难操作的, * 一...

2019-12-26 22:01:11 112

原创 数据结构和算法之栈1

数组模拟栈将数组模拟成栈的思想://用数组模拟栈的思想:* 1·先创建栈,用数组* 2·定义一个变量top表示栈顶,初始化为-1* 3·入栈:top++,stack[top]=val,要进行栈满的操作* 4·出栈:数据取出:int value=stack[top];top--即可,要进行判断栈为空的操作,因为有返回值,所以一般我们进行异常抛出*/注意:因为数拿数组进行定义栈1:...

2019-12-26 21:34:31 198

原创 数据结构和算法之环形链表

约瑟夫环问题:思想: 因为是循环,所以我们可以考虑环形链表,当然还可以用数组取模来进行实现实现的步骤:1·首先先要构成一个环形链表1·1:先创建一个新的节点,并让first变量指向该节点,并先让自身形成环形1.2:将后面产生的心得节点假如环形链表中即可2·考虑怎么遍历环形链表:采用一个辅助指针2.1:采用一个辅助指针cur让其遍历2.2:当...

2019-12-23 14:47:59 168

原创 数据结构和算法之队列

数组模拟队列将数组模拟成队列的思想:/*将数组模拟成队列的思想:* 1·因为是先进先出,所以我们可以采用尾巴添加值进入数组,头部从数组中将值取出,然后将下标进行++* 2·front指向的是头元素的前一个位置,也就是说arr[front+1]才是表示队列的第一个元素* 3·rear指向的当前队列的最后一个元素,也就是说rear+1的时候才能进行插值* 4·front的初始值=-1;;;...

2019-12-20 20:25:59 120

原创 数据结构和算法之稀疏数组

稀疏数组:稀疏数组的产生: 当一个数组中值大部分为0或者为一个固定值的时候,我们可以采用稀疏数组进行保存稀疏数组的组成: 稀疏数组是一个n行3列的数组,所以说稀疏数组是一个二维数组,但遍历的时候只用 一层循环 即可遍历完;稀疏数组的第一行保存的就是原始数组的行列值和原始数组中的非0值的个数;row,col,val组成的二维数组(一)将数组保存在稀疏数组中:1·创建一个原始数组,遍历整个...

2019-12-19 22:51:27 147

原创 数据结构和算法之归并排序

归并排序思想: 分治策略(就是分治法是将大问题划分成一个一个的小模块采用递归求解;而治的阶段就是在分的阶段进行一些 “修补” 的行为 即分而治之)步骤和相关代码:1·先将数组中的数据用递归算法分解成小模块的数据(也就是将大问题分解成小问题)//将数组中的数据进行分治public static void mergeSort(int[] arr,int left,int right,in...

2019-12-19 21:44:53 82

原创 面向对象编程

面向对象编程的重点:多态:1·向上转型:就是说父类引用子类的对象;例如:Animal1 animal=new Cat1(); 就称为向上转型class Cat1 extends Animal1{ public Cat1(String name, int age,String sex) { super(name,age);//显示调用父类的构造方法 t...

2019-11-20 14:42:06 108

原创 面向对象编程

面向对象编程部分重点面向对象编程主要由包,继承,组合,多态,抽象类,接口组成包:就相当于一个文件夹,是组织类的一种方式,使用包是为了保证类的唯一性;包的命名也是有规范的一般是小写字母,采用公司的倒序形式命令。导入包中的类:其实java中已经导入了很多现成的包供我们使用,例如:java.util.Dtae;通过import的关键字导入java中已有的包即可;例如:import java...

2019-11-19 20:14:25 113

原创 单链表常见习题总结

单链表常见习题总结210:删除所有关键值为key的节点//10:删除所有关键值为key的节点 public void removeAllKey(int key) { if (this.head == null) { return; } ListNode prev = this.head; ListN...

2019-11-07 18:17:49 289

原创 单链表

单链表常见习题总结1:1:头插法//1:头插法 public void addFirst(int data) { ListNode node = new ListNode(data);//要插入的节点,进行初始化 // 1.是否是第一次插入:因为head直接给插进去的第一个节点 不用再写node.next=head if (head ==...

2019-11-04 21:24:24 112

原创 类和对象

java找那个类和对象的知识总结:首先说说类和对象是什么?简单的说,类就相当于一个模板,对象就相当于一个实体;对象里面有属性和方法;属性又包括字段和成员;成员又包括实力数据成员和静态数据成员;一个类可以产生多个对象;在java中通过new关键字实现创建一个对象。如何产生一个对象呢?为对象分配合适的空间选用合适的构造方法(注意: 一个类中默认的是一个无参的构造方法,若你想使用带参数的对象...

2019-11-04 18:38:31 128

原创 实现交换两个变量的值。要求:需要交换实参的值

实现交换两个变量的值。要求:需要交换实参的值交换实参的值思想:C语言: 在C语言中可以通过传地址的方式改变变量中的值;就是通过定义指针保存两变量的地址java: 而在java中是没有指针类型的变量,所以说只能采用按引用传递,实质就是按值传递java代码如下所示:public class Test { public static void main(String[] args) {...

2019-10-24 16:53:41 353

原创 java中数组知识的总结

java中数组知识的总结数组:1. 1:一维数组的定义:规则一维数组的定义:       int [] array={1,2,3,4,5,6};//属于静态的初始化       int [] array=new int [] {1,2,3,4,5,6};属于动态的初始化  &nbsp...

2019-10-19 19:03:38 479 1

原创 数据类型和几个基础方法

Windows编码是以GBK的形式进行编码;Linux编码是以UTF-8的形式编码;若在 .java 文件中加了块注释并在 DOS 系统下编译就要在编译选项选择 UTF-8 去编译命令行形式进行编译:javac -encoding UTF-8 Test.javaC语言中以ASCII码进行编码,而java是用Unicode进行编码在C语言中 char 类型占 1bit ,即一个字节在...

2019-09-28 22:28:03 135

原创 C语言编写函数unsigned int reverse_bit(unsigned int value); 这个函数的返回值是value的二进制位模式从左到右翻转后的值。

编写函数: unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 25...

2019-09-27 22:52:24 259

原创 十进制向其他进制的转换

十进制向二进制和十六进制的转换首先了解什么是二进制,二进制就是有0和1组成的数字,运算的算法就是逢2进1;就相当于十进制的逢10进1一样;既然说到十进制那么我们就先说说十进制十进制是怎么得到每位上的数字吗?如果是一个一位数的怎么得到这位数字,不就是对十取余么例如:8      8%10=8那么两位数呢,就是先对10 取余再整除10再对10...

2019-09-27 22:44:32 602

原创 冯诺依曼结构体系

冯诺依曼结构体系冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构;程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。它由五个部分组成:输入,输出,存储器,运算器,控制器;运算器和控制器就是我们说的CPU...

2019-09-27 21:18:49 2480

原创 C语言操作符

C语言操作符的重点总结:算术操作符:+  -   *   /   %1. 除了模(%)操作符除外,其他几个操作符可以用于整数和浮点数;    例如:不可以出现8.5%4.1等类似的,模运算的操作数只能是整数,返回的是整除之后的余数2.对于整除(/)运算如果两个操作数都为整数,执行整数除法,...

2019-09-23 16:58:23 134

原创 C语言编程实现一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)

编程实现:一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)**思想:**怎样证明是成对出现呢,可以用异或运算,1:因为自己和自己异或肯定会变成0;:2:c=a^ b; d ^ c = d^ (a^b)所以代码如下所示:#include<stdio.h>int main(){ int i; int a[] = { 1, 2...

2019-09-22 22:27:20 179

原创 C语言不用(a+b)/2这种方式,求两个数的平均值

不使用(a+b)/2这种方式,求两个数的平均值思想:(a+b)/2就是a和b加起来整除一个2,整除2回联想到算术右移一位相当于整除2,所以就可以变成(a+b)>>1代码如下所示:#include<stdio.h>int main(){ int a, b; printf("请输入两个数:"); scanf("%d%d",&a,&b); int...

2019-09-22 22:12:52 359

空空如也

空空如也

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

TA关注的人

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