自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql索引

概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。作用数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。索引所起的作用类似书籍目录,可用于快速定位、检索数据。索引对于提高数据库的性能有很大的帮助使用场景数据量较大,且经常对这些列进行条件查询。该数据库表的...

2020-04-12 11:56:18 231 3

原创 github_crawler测试

项目背景爬取github上awssome-java这个项目中所提到的一些上榜项目,分析这项目的活跃程度(start,fork,open_issue)。实现一个类似于”github趋势”的功能。核心流程通过程序抓取awesome-java中所有上榜项目内容,解析之后存储到数据库,然后进行数据分析,以柱状图的形式展示在页面中,依此来分析项目活跃程度。模块划分1.抓取模块:获取服务器上的网页内...

2020-04-07 17:51:27 524

原创 传输层

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

2020-03-29 11:17:44 312

原创 网络基础

网络局域网LAN:计算机数量更多了, 通过交换机和路由器连接在一起。广域网 WAN:又称广域网、外网、公网。将远隔千里的计算机都连在一起。局域网和广域网的划分是两个相对的概念。协议概念计算机之间传输媒介是电信号和光信号,想要传递各类信息,双方就要需要约定好信息格式来辨识。在计算机之间,约定好共同标准才可以,有行业领袖来制定。同层之间可以直接交流,便于维护,网络协议也分层。协议分层...

2020-03-27 15:55:33 554

原创 多线程基础

认识线程进程:操作系统中一个程序的执行周期,进程是系统分配资源的最小单位线程:一个程序同时执行多个任务,每个任务就称为一个线程。线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的。每个进程至少有一个线程存在,即主线程进程线程根本区别进程是操作系统资源分配的基本单位线程是任务调度和执行的基本单位开销方面每个进程都有独立的代码和数据空间(程序...

2020-03-24 20:46:22 250

原创 Java集合框架

什么是集合框架Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口interfaces 和其实现类 classes。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的...

2020-03-23 14:50:30 122

原创 1.二维数组中的查找2.替换空格3.从尾到头打印链表4.重建二叉树5.两个栈实现一个队列6.旋转数组中的最小值7.斐波那契数列8.二进制中1的个数

1.二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:选取右上一点,若等于查找的数,则返回true,若此数大于所要查找的数,则此列都大于,不可能出现查找之数。剔除此列,以此类推。若右上角的数小于查找之数,则剔除此行。直到找到查找...

2020-03-20 13:58:55 189 2

原创 异常

所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制。代码出错的两种处理方式:LBYL:( Look Before You Leap) 在操作之前就做充分的检查.EAFP:( It’s Easier to Ask Forgiveness than Permission) “事后获取原谅比事前获取许可更容易”. 也就是先操作, 遇到问题再处理。异常的核心思想就是 EAFP。...

2020-02-29 22:19:06 148 2

原创 TCP三次握手和四次挥手

TCP报文格式源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。6位标志位:URG: 紧急指针是否有效ACK: 确认号是否有效PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读...

2020-02-28 22:28:31 135 2

原创 Java基础IO

流的概念流:在 Java中所有数据都是使用流读写的。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。按流向分:输入流 、输出流按处理数据的单位分:字节流(8位的字节)、字符流(16位的字节)什么是输入,输出输入就是将数据从各种输入设备(包括文件、键盘等)中读...

2020-02-28 17:37:20 151

原创 抽象类和接口

抽象类在Java中,你可以只给出方法的定义不去实现方法的具体事物,由子类去根据具体需求来具体实现。这种只给出方法定义而不具体实现的方法被称为抽象方法,包含一个或多个抽象方法的类称为抽象类。举个例子来说:一个图形类应该有面积的方法,但是不同的图形求面积方法不一样。分析事物,发现共性,就出现了向上抽取。方法的声名相同,但是方法功能主体不同,这样就可以抽取,但只是抽取方法声名,但不抽取方法主体,称...

2020-02-26 22:04:00 155

原创 IDEA中点击Plugins加载不出来解决方案

今天在Intellij IDEA 2019.1中搜索插件时,发现打开setting–>Plugins,加载很慢,过了好久也没有搜索出来,如下图所示。通过查资料,IDEA的模块系统加载不出来是因为IDEA网络安全机制造成。解决方法是:Setting–>Apperance & Behavior -->Syetem Setting–>Updates,将Use sec...

2020-02-21 22:42:38 15047 3

原创 Java面向对象的三大特征

一说到java面向对象编程,我们就想到面向对象的三大特性,封装,继承和多态。封装是 Java 类的编写规范、继承是类与类之间联系的一种形式,而多态为系统组件或模块之间解耦提供了解决方案。封装概念:隐藏类的属性和具体实现细节,只提供相关的接口和方法来对隐藏信息进行控制和修改。封装的思想保证了类内部数据结构的完整性,使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的...

2020-02-17 22:08:39 270 2

原创 [软件测试] 测试用例的设计方法

需求分析法RBT( Requirements-Based Testing)是基于需求的测试方法,按照需求去设计测试用例。注意: 有多细致的需求就有多细致的测试用例原则:验证需求的正确性软件功能是否与需求相符合等价类针对输入无法全部覆盖,依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个代表性测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过...

2020-02-14 20:31:19 608

原创 [软件测试]基础篇

软件测试的生命周期需求分析测试计划测试设计、测试开发测试执行测试评估如何描述一个BUG1、发现问题的版本开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障。并且版本的标识也有利于统计和分析每个版本的质量.2、问题出现的环境环境分为硬件环境和软件环境,如果是web项目,需要描述浏览器版本,客户机操作系统等,如果是app项目,需要描述机型、分辨率、操作系统版本等...

2020-02-10 16:57:14 179

原创 [JavaSE] 数组

数组的基本用法什么是数组数组本质上就是让我们能 “批量” 创建相同类型的变量.数组的创建// 动态初始化数据类型[] 数组名称 = new 数据类型 [长度] { 初始化数据 };// 静态初始化数据类型[] 数组名称 = { 初始化数据 }; 数组的使用:获取数组和访问元素public class Solution { public static void main(...

2020-01-21 20:14:57 138

原创 [软件测试] 概念篇

什么是需求概念:满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该 需求一般比较简略。软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。软件需求是测试人员进行测试工作的基本依据什么是bug需求错误:软件错误:程序没有...

2020-01-20 23:23:21 564

原创 [JavaSE] 方法

方法的基本用法什么是方法方法就是一个代码片段. 类似于 C 语言中的 “函数”是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置使用.让代码更好理解更简单举个例子:实现一个方法实现两个整数相加public class Solution { public static void main(String[] args) { ...

2020-01-19 22:39:20 110

原创 [JavaSE] 逻辑控制

switch语句根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句.如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句.我们建议一个 switch 语句最好都要带上 default.我们看一个例子public class Solution { public static void ...

2020-01-18 20:59:04 176

原创 [软件测试] 答疑篇

什么是软件测试概念:检验软件功能是否满足用户需求软件测试的基本操作就是找bug,可以理解为在规定条件下对程序进行操作,以发现程序的错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。软件测试和研发的区别研发测试难易程度广度小,专业度高广度大,专业度低目的从无到有,从0到1把1变为更好的1参与角色开发人员主要是测试和开发人员,黑盒测试由...

2020-01-18 14:16:17 273

原创 [JavaSE] 运算符

算术运算符我们来看一个例子public class Solution { public static void main(String[] args) { double a = 13.5; int b = 2; System.out.println(a % b); }}答案为1.5,说明% 不仅仅可以给int求模,也可以给...

2020-01-17 19:37:33 122

原创 [JavaSE]数据类型

整型变量整型所占字节数数据范围byte1个[-128,127]short2个[-32768,32767]int4个[-2^31, 2^31-1]long8个[-2^63, 2^63-1]注意:所占字节数与操作系统无关字节是计算机中表示空间大小的基本单位计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(B...

2020-01-16 19:15:49 119

原创 [JavaSE] Java简介

Java是什么Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。Java的优势语法比较简单,学过计算机编程的开发者都能快速上手在若干了领域都有很强的竞争力,比如服务端编程,高性能网络程...

2020-01-16 14:33:35 130

原创 常见的排序总结(1)

1.直接插入排序原理:整个区间被分为 1.有序区间 2. 无序区间每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入

2019-11-27 23:31:22 107

原创 模拟实现字符串的基本操作

模拟实现字符串的基本操作1.字符串比较1.1equals 区分大小写的比较equalsIgnoreCase 不区分大小写的比较String str1 = "hello world";String str2 = "Hello World";System.out.println(str1.equals(str2));//falseSystem.out.println(str1.equa...

2019-11-04 17:30:45 357 3

原创 实现双向链表的基本操作

DLinkedList.javaclass DLinkedNode { int val = 0; public DLinkedNode prev = null; public DLinkedNode next = null; public DLinkedNode(int val) { this.val = val; }}public ...

2019-11-02 11:02:40 324

原创 实现单链表的进本操作(2)

1.编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前public class Partition { public ListNode partition(ListNode pHead, int x) { // write code here if(pHead == null) { return...

2019-10-24 16:51:44 316

原创 实现单链表的基本操作(1)

1.删除链表中指定的所有元素(https://leetcode-cn.com/problems/removelinked-list-elements/description/)public class LinkedNode{ public ListNode reverseList(ListNode head) { if(head == null) { ...

2019-10-24 00:16:49 219

原创 链表的实现

无头单向非循环链表实现 class LinkedNode { public int data = 0; public LinkedNode next = null; public LinkedNode(int data) { this.data = data; }// public void setNext(LinkedNode n) ...

2019-10-04 16:51:54 108

原创 实现顺序表

总结:1.顺序表就是我们熟悉的数组,擅于随机访问,2.给定位置,能够高效的获取/修改指定位置的值时间复杂度是O(1)3.顺序表按值查找,插入,删除,时间复杂度O(N)4.对于尾插和尾删,时间复杂度O(1)//import java.util.Arrays;public class SeqList { private int[] data = new int[10]; pr...

2019-10-04 15:34:19 124 1

原创 条件和循环练习(2)

1.数一下 1到 100 的所有整数中出现多少个数字9。public class Test { public static void main(String[] args) { int count = 0; for (int i = 0; i < 100 ; i++) { if(i % 10 == 9 ) { ...

2019-10-04 11:31:31 214

原创 汉诺塔和青蛙跳台

实现代码: 求斐波那契数列的第 N 项实现代码: 求解汉诺塔问题(提示, 使用递归)汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,...

2019-09-26 16:55:35 182

原创 重载与递归总结练习

方法的重载有些时候我们需要用一个函数同时兼容多种参数的情况, 我们就可以使用到方法重载.方法的名字都叫 add. 但是有的 add 是计算 int 相加, 有的是 double 相加; 同一个方法名字, 提供不同版本的实现, 称为方法重载重载规则:方法名相同 、方法的参数不同(参数个数或者参数类型)、 方法的返回值类型不影响重载.递归递归的概念 :一个方法在执行过程中调用自身, 就称为...

2019-09-21 15:11:59 184

原创 1.交换两个数 2.求最大值和最小值3.变量的基本知识点

一.交换两个数二.给定三个数字,求最大值和最小值三.变量的基本知识点.1.整型变量 intint num = 10;system.out.println(num);在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系. 4 个字节表示的数据范围是 -2^31 -> 2^31-1 , 也就大概是 -21亿 到 +21亿.为了表示更大的数据,java提供...

2019-09-20 16:31:46 427

原创 java数组练习

1.打印字符串2.字符串拷贝3.找数组中的最大元素4.求数组中元素的平均值5.顺序查找6.二分查找7.检查数组有序性8.冒泡排序

2019-09-18 22:36:33 115

原创 Java条件和循环练习

根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)判定一个数字是否是素数打印 1 - 100 之间所有的素数输出 1000 - 2000 之间所有的闰年输出乘法口诀表求两个正整数的最大公约数计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。...

2019-09-15 00:07:13 539 2

原创 递归求汉诺塔问题 递归求青蛙跳台问题

1.递归求汉诺塔问题在汉诺塔问题中,假设有A、B、C三根柱子,A柱子上由上到下从小到大摆放了n个圆盘,要借助B柱子将A柱子上的圆盘由移动到C柱子上,还是按由上到下从小到大摆放。设想A上有一个圆盘,直接移到C上(a->c),只需要一次 2^1-1;设想A上有两个圆盘,通过(A->B,A->C,B->C),需要三次 2^2-1;设想A上有三个盘子,通过(...

2019-08-16 22:09:02 198

原创 C语言操作符练习

1.unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>unsigned int reverse_bit(unsigned int ...

2019-08-14 14:51:31 258

原创 1.数组指针2.函数指针3.函数指针数组4.指向函数指针数组的指针

1.理解数组指针2.理解函数指针和定义3.理解函数指针数组和定义,转移表4.理解指向函数指针数组的指针和定义5.解回调函数的使用6.练习使用qsort函数排序各种类型的数据7.模仿qsort的功能实现一个通用的冒泡排序...

2019-08-13 13:54:41 141

原创 对于一个字符串,请设计一个高效算法,找到第一个重复出现的字符

1.对于一个字符串请设计一个高效算法,找到第一个重复出现的字符。char FindFirstRepeat(char * c, int sz) { char word[50]; int i, j; word[0] = *c; for (i = 0; i < sz; i++) { for (j = 0; j<i; j++) { if (*(c + i) == w...

2019-08-02 12:27:24 684

空空如也

空空如也

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

TA关注的人

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