自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 经典TCP三次握手 & 四次挥手

传输层:传输层在进程和进程之间进行数据传送的工作,它将应用层的数据进行分装以后,产生一个一个 process(进程);这些进程通过复用技术,将它们进行分装,分装为 message;接着送到网络层,进行IP分包以后,进入到网络链路中进行处理;而在接收端,可以经过网络层到达传输层以后,经过解包解封用的技术,将这些进程还原成一个一个的process。过程如下图:TCP协议段格式:源端...

2020-01-31 13:59:28 248

原创 面向连接的传输层协议——TCP/IP协议

UDP协议UDP协议端格式:16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度;如果校验和出错, 就会直接丢弃。UDP的特点:UDP传输的过程类似于寄信.无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息;面向数据报: ...

2020-01-29 21:17:35 6691

原创 替换空格

题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解析一:调用自带函数 public String replace01(StringBuffer str){ return str.toString().replace(" ","%20"); } public String replace03(StringBuffer str){

2020-12-02 14:49:40 197

原创 青蛙跳台阶

一只青蛙一次可以跳上一级台阶,也可以跳上二级台阶,求该青蛙跳上一个n级的台阶总共需要多少种跳法。当n等于1的时候,只需要跳一次即可,只有一种跳法,记f(1)=1;当n等于2的时候,可以先跳一级再跳一级,或者直接跳二级,共有2种跳法,记f(2)=2;当n等于3的时候,他可以从一级台阶上跳两步上来,也可以从二级台阶上跳一步上来,所以总共有f(3)=f(2)+f(1);当n等于n的时候,总共有f(n)=f(n-1)+f(n-2)(这里n>2)种跳法。public static

2020-11-03 10:16:37 238

原创 unittest框架_我的总结

利用单元测试框架,创建一个类,该类继承unittest 的TestCase,这样可以把每个case看成是一个最小的单元, 由测试容器组织起来,到时候直接执行,同时引入测试报告。test fixture:初始化和清理测试环境,比如创建临时的数据库,文件和目录等,其中 setUp() 和 setDown() 是最常用的方法test case:单元测试用例,TestCase 是编写单元测试用例最常...

2020-10-30 14:59:54 422

原创 JVM内存模型

JVM内存区域线程私有区域:程序计数器、Java虚拟机栈、本地方法栈线程共享区域:Java堆、方法区、运行时常量池程序计数器(线程私有) ​​​​​​​程序计数器是一块比较小的内存空间,保存下一条执行的指令的地址。如果当前线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是一个Native方法,这个计数器值为空。程序计数器内存区域是唯一一个在JVM规范中没有规定任何OOM情况的区域!什么是线程私有?由于JVM的多线程是通过线程轮流切换并分

2020-10-30 14:59:36 181

原创 Java对象的比较

Java对象的比较对象值相等的比较== VS equals():p == q 表示的是 p 和 q 两个引用指向同一个对象; p.equals(q) 表示 p 指向的对象 和 q 指向的对象是否是值语义相等的。 public class Card { public int rank; // 数值 public String suit; // 花色 public Card(int rank, String suit) { this.rank = r...

2020-10-07 21:43:57 171

原创 认识 String 类

String创建字符串字符串比较相等字符串不可变字符串常见用法StringBuffer 和 StringBuilderStringJava 中数组,String,自定义的类都是引用类型1、字符串常量是共享的(字符串常量池);2、字符串不能变化,如果我们在字符串上做拼接,其实是产生了一个新字符串;(String 一旦被创建,值不能被改变,如果参与了操作,引用发生了变化,不是在原有的字符串上操作,而是产生了一个字符串)创建字符串方式一:String str =

2020-10-07 20:41:37 112

原创 重载与重写的区别

重载 overload重载的目的:节省类中的命名资源和提高代码的可读性。重载是在一个类中,1、方法名相同2、方法的参数不同(参数个数或者参数类型)3、方法的返回值类型不影响重载( 当两个方法的名字相同,参数也相同,但是返回值不同的时候,不构成重载 )class Test { public static void main(String[] args) { int a = 10; int b = 20; int ret = add(a, b

2020-10-06 15:04:59 2023 1

原创 异常

异常异常指的就是程序在运行时出现错误时通知调用者的一种机制(运行时指的是程序已经编译通过得到 class 文件了,再由 JVM 执行过程中出现的错误)try{ 有可能出现异常的语句; // 发生异常的代码,之后的代码是不会执行的}[catch(异常类型 异常对象){ 出现异常后的处理行为; //e.printStackTrace(); 打印异常的信息}][finally{ 异常的出口(用于处理善后工作, 会在最后执行(无论是否存在异常, finally中的代码一定都会执行到)) //

2020-10-06 15:02:56 270

原创 Java数组

数组本质上就是能 “批量” 创建相同类型的变量(在Java中,数组中包含的变量必须是相同类型)。数组的定义:数据类型[] 数组变量名 = new 数据类型[整数]; //整数:数组的长度数据类型[] 数组变量名 = {值1,值2,值3…值n}; //(静态初始化)数据类型[] 数组变量名 = new 数据类型[]{值1,值2,值3…值n}; //(动态初始化)数组(引用类型):数组的下标不要越界使用,否则会报错(编译阶段不报错,运行报异常)二维数组的定义:数据类型[][] 数组变量名

2020-10-06 14:38:57 247

原创 分支结构if与switch

if:if(条件判断表达式){ 执行语句;}条件表达式的结果一定是 true 或者 false;(布尔类型)如果if要是没有大括号作为if体,那么if直接将下面的第一行作为if体。(平时加{})switch:switch(表达式){ case 常量1: 执行语句; break;//跳出switch .... case 常量n: 执行语句; break; default: 执行语句; break;}switch中的表达式类型:byte、char、sho

2020-10-05 17:23:45 162

原创 &与&&的比较

逻辑运算符:&、|、&&、||、!逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean按位与 &:** 即使前面的表达式能决定整体表达式的值,但 & 依然计算了后面表达式。int math=34;int chinese=54;System.out.println((math >= 60) & (++chinese >= 60));System.out.println(chinese);运行结果:fals

2020-10-05 17:02:04 212

原创 你知道的Java变量

变量(Variable)变量的定义:变量类型 变量名称; // int a;变量类型 变量名称 = 初始化的值; // 1.字面量(Literal) int a=10; // 2.另一个变量 int b=a; // 3.方法的返回值 int m=max(a,b);变量的类型:一、基本数据类型(primary type)1.数值类型 整形: byte 一个字节

2020-10-05 16:42:36 94

原创 初识JVM

引用:创建一个引用只是相当于创建了一个很小的变量,这个变量保存了一个整数,这个整数表示内存中的一个地址。int[] arr=new int[]{1,2,3};a) 当创建 new int[]{1,2,3} 的时候,相当于创建了一块内存空间保存三个 intb) 然后执行 int[] arr=new int[]{1,2,3} 相当于有创建了一个 int[] 变量,这个变量是一个引用类型,里面只保存了一个整数(数组的起始内存地址)c) 接下来进行传参相当于 int[] a=arrd) 然后修改

2020-08-25 21:05:24 137

原创 Java知识点(零散7)

栈(Stack):栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。...

2020-08-20 16:21:00 93

原创 2、TCP通用服务器(TCP服务端,接收客户端内容,然后输出)

TCP通用服务器(TCP服务端,接收客户端内容,然后输出)ServerSocket类方法签名方法说明ServerSocket(int port)创建绑定到指定端口的服务器套接字ServerSocket(int port, int backlog)创建服务器套接字并将其绑定到指定的本地端口号,并指定了积压。Socket accept()侦听要连接到此套接字并接受它bind(SocketAddress endpoint)将ServerSocket绑定到特定地址(

2020-08-20 16:20:01 2262

原创 单例模式

单例模式饿汉模式public class Singleton { private static Singleton instance=new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; }}懒汉...

2020-08-20 16:19:23 105

原创 数据结构之时间复杂度&空间复杂度

数据结构(Data Structure)数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 算法:算法就是定义良好的计算过程,然后取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。算法效率:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空.

2020-08-18 17:46:08 244

原创 手机APP入门

目录一、安装和卸载二、运行三、注册和登录四、日历控件五、权限设置六、软件更新七、网络环境 八、兼容性测试 九、异常测试 除去每个产品和版本不同的业务需求以及功能,针对于大多数APP的共同点和移动设备的特性,本文总结了一些APP功能测试中经常遇见,需要考虑到的测试点以供参考。一、安装和卸载应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的缺陷。因此APP的安装和卸载应作为一个测试点多加重视。...

2020-08-16 10:23:16 715 1

原创 Java练习题__删除公共字符

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串输入:They are students.aeiou输出:Thy r stdnts.两层循环遍历:下面将“They are students.”称为字符串1,将“aeiou”称为字符串2。每遍历到字符串2中的一个字符,就在字符串1中找到相同的字符,找到之后删除它,并将字符串1后面的字符整体向前移动1位。public class SameZ..

2020-08-16 09:53:47 127

原创 Java练习题__买苹果

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述:输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述:输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1输入:20输出:3首先,6和8都是偶数。因此,能凑出的个数也一定是偶数。程序中若苹果总数是奇数,可以直接返回-1。 再次,偶.

2020-08-16 09:15:38 271

原创 Java练习题——字符串中找出连续最长的数字串

字符串中找出连续最长的数字串读入一个字符串str,输出字符串str中的连续最长的数字串 输入描述: 输入包含1个测试用例,一个字符串str,长度不超过255。 输出描述: 在一行内输出str中里连续最长的数字串。 输入:abcd12345ed125ss123456789输出:123456789解题思路用max表示经过的数字长度最大值,count表示数字计数器,当为字母时重置为0,end表示数字尾部,每次满足数字时,对max进行判断,当max小于count时,更新ma..

2020-08-15 23:09:36 892

原创 Java的JDBC编程_我的总结

JDBCJDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。JDBC 工作原理JDBC访问数据库层次结构:JDBC优势:Java语言访问数据库操作完全面向抽象接口编程开发数据库应用不用限定在特定数据库厂商的API程序的可移植性大大增强JDBC使用JDBC开发案例:建立数据库连接// 加载JDBC驱动程序:反射,这样调用初始化com.mysql.jdbc.Drive

2020-08-14 18:58:52 151

原创 我的项目_唐诗可视化项目

一、项目简介项目分为两个模块:诗词爬取模块 和 数据可视化模块。爬取 古诗文网 唐诗三百首的内容,并将爬取到的内容存储到 MySQL 数据库当中,进而将相关的数据内容进行统计,最终将其以图表等形式展示出来的一个 JavaWeb 项目。项目核心技术:Servlet 的使用 MySQL 数据库设计 gson 的使用 HTTP 协议 HtmlUtil、ansj_seg 第三方库的...

2020-08-12 20:59:20 1856

原创 pycharm无法自动补全webdriver

出现问题:解决问题:查看是否解决问题:

2020-08-11 11:20:04 892

原创 IDAE下Dependencies出现错误

下图标注的地方出现红色下滑线:互联网是很强大的,我就去网上搜索了一下,有的说,重新启动就OK了,就抱着试一试的态度,毕竟这是最简单了当的,果然,重新打开IDEA后,红色波浪下滑线就消失了,开心!...

2020-08-08 20:38:54 238

原创 我的项目_图片服务器

基于 Java Servlet 构建的图片服务器背景需求图床, 解决 github / 博客中插入图片的问题.给定一个 url, 能够获得到图片内容.重要知识点:1. 简单的Web服务器设计能力2. Java 操作 MySQL 数据库3. 数据库设计4. Restful 风格 API5. gson 的使用6. 强化 HTTP 协议的理解7. Servlet 的使用8. 基于...

2020-08-07 20:09:07 582

原创 图片服务器测试

如果你把图片上传到图片服务器上,就可以在其他网站上通过url引用该图片了按照开发阶段化划分项目测试顺序:单元测试——功能测试——自动化测试——性能测试一、单元测试(构成的小单元进行测试)Ctrl+Shift+T...

2020-08-07 15:44:26 266

原创 MySQL找不到MSVCP120.dll

不知道大家有没有遇到这样的情况:只能重新安装才能解决吗?NO第一步:查找复制 ClickToRun 下的 msvcp120.dll、msvcr120.dll第二步:将 msvcp120.dll、msvcr120.dll 复制到 mysql 的 bin 目录下第三步:打开 cmd,查看 mysql 是否能正常运行...

2020-08-06 20:39:35 2952 2

原创 白盒测试用例设计_总结

白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟

2020-08-01 14:54:31 1340

原创 白盒测试之基本路径测试法

基本路径测试法基本路径测试是一种白盒测试方法,它在程序控制图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。工具/原料图形矩阵控制流图方法/步骤:1、画出控制流图使用控制流图制作方法对程序流程图进行简化,以突出的表示程序控制流的结构。对于复合条件,则可将其分解为多个单个条件,并映射成控制流图。2、确定程序基本集的独立路径数量,再确保所有语句至少执行一次的测试数量的上界。需要注

2020-08-01 14:53:34 7796 1

原创 白盒测试之逻辑覆盖法

逻辑覆盖法逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖修正判定条件覆盖点覆盖边覆盖路径覆盖几种逻辑覆盖标准发现错误的能力呈由弱至强的变化。语句覆盖语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误。被测试代码:int foo(int a, int b){ return

2020-08-01 14:53:25 2473

原创 接口(API)测试

什么是接口测试接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。接口可以分下面几种 :第一种是函数级别的,测试需要对接口的各个参数进行测试,如:Int MathAdd(int a,int b)。第二种是对象级别的,开发在使用API接口时,先引入包名,在使用之前声明一个对象,之后可以使用对象提供的方法,而测试时,需要测试的是API的功能及对数据输入的正确性。第二种和第一种的差别是,我们只需关注提供给用户使用的接口就可以了,不用关心接口调用

2020-08-01 13:19:16 1477

原创 软件测试的各种技术你知道吗?

软件测试技术按开发阶段划分单元测试(模块测试)单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试阶段:编码后或者编码前测试对象:最小模块测试人员:白盒测试工程师或开发工程师测试依据:代码和注释+详细设计文档测试方法:白盒测试测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试1. 模块接口测试;2. 模块局部数据结构测试;3. 模块边界条件测试;4. 模块中所有独立执行通路测试;5. 模块的各条错误处理通路测试。集成测试(联

2020-08-01 08:24:48 1987

原创 Linux 下的基本命令2_总结

1.grepgrep “” 在给定的文件中搜寻指定的字符串;grep -i “” 在搜寻时会忽略字符串的大小写;grep -r “” 则会在当前工作目录的文件中递归搜寻指定的字符串。test2.txt:查看某个端口是否被占用:netstat -anp | grep 端口号查看当前所有已经使用的端口情况:netstat -nultp(此处不用加端口号)2.find在给定位置搜寻与条件匹配的文件。使用find -name 的-name选项来进行区分大小写

2020-07-31 16:00:39 123

原创 经典排序算法_我的总结

经典排序算法总结比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。算法复杂度:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什

2020-07-30 22:16:59 208

原创 牛课题_二维数组中的查找

题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按 照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解答:如数组样式如下: 1 2 3 4 2 3 4 5 3 4 5 6 正常查找的过程,本质就是排除的过程,如果双循环查找,本质是一次排除一个,效率过低根据题面要求,我们可以采取从右上角(或左下角)进行比较,这样可以做到一次排除一行或者一列(如果 target的值比右上角的 array[i]

2020-07-20 11:13:03 113

原创 黑盒测试用例设计_总结

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:功能不正确或遗漏;界面错误;输入和输出错误;数据库访问错误;性能错误;

2020-07-19 21:22:07 699

原创 测试用例的设计方法_场景设计法

场景设计法通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。每个事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果形成事件流。这一系列的过程我们利用场景法可以清晰的描述清楚。下图来展示一下网上最长见的场景法基本情况的一个实例图:在这个图中,有一个基本流和四个备选流。每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合

2020-07-19 21:07:16 1523

空空如也

空空如也

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

TA关注的人

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