自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程同步

java.lang.Thread 此类是Java中多线程的核心类--------------------Java多线程实现--------------------无论使用哪种方式创建线程,启动线程一律使用Thread类提供的start()方法。用户不能直接调用run()!!!!start():同步方法一个线程的start()只能被执行一次,执行多次会抛出IllegalThreadStat...

2019-07-19 19:10:52 147

原创 简单工厂设计模式

简单工厂模式:将客户端的new操作解耦到第三方(工厂类)(1)实现一个抽象接口,(2)产生具体的子类实现接口,多个具体产品类(3)实现一个工厂类,将所有产生对象的实例操作解耦到工厂类中--客户端通过工厂类获取具体实例例:小明想买电脑,现有Macbookpro和Surfacebook型电脑可供选择,过了一段时间由出现新型号电脑,现帮小明买电脑1.实现一个电脑接口2.产生两个具...

2019-07-07 14:15:29 117

原创 模板设计模式

设计模式:解耦,第三方开闭原则(OCP):一个软件实体如类、模块或函数应该对扩展开放,对修改关闭。模板设计模式:基于抽象类定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板设计模式可以使得子类在不改变算法的前提下,重新定义算法中的某些步骤。模板超类的定义:1. 基类声明为抽象类(子类具体实现)2. 模板方法被声明称final,以免子类改变这个算法顺序...

2019-07-07 11:08:29 185

原创 Java的JDBC编程

1 JDBC的概念 Java程序访问数据库的基本方式是通过JDBC。JDBC(Java DataBase Connectivity,Java数据库连接)技术的简称,是一种用于执行SQL语句的Java API。它是一组由Java编程语言编写的类和接口组成。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成。2 JDBC优势Java语言访问数据...

2019-06-05 21:40:01 165

原创 单例设计模式

单例设计:一个类只允许产生一个实例化对象思路:构造方法私有化,外部无法调用构造产生新的实例化对象 在类的内部产生一个实例化对象 使用static产生实例化对象(普通属性必须在有实例化对象的时候才能进行内存空间的分配,现在外部无法产生实例化对象) 提供取得属性的getter()方法(类中属性应用private封装)class Single{ private stati...

2019-06-01 14:22:50 74

原创 vim编辑器、gcc编译器、gdb调试器

1 vim基本概念vim三种主要模式正常/普通/命令模式控制屏幕光标的移动,字符、字或行的删除,移动或复制某行插入模式编辑模式,在此模式下做文字输入末行模式文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作2 vim基本操作输入vim 文件名称后进入vim编辑画面,进入后处于正常模式。三种模式间的切换【正常模式】切换至【插入模式】输...

2019-05-29 21:45:42 453

原创 JVM

1 JVM概念JVM:Java虚拟机虚拟机:通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。JVM是通过软件模拟Java字节码的指令集。2 垃圾回收器2.1 判断一个对象已经“死亡”(1)引用计数法给对象增加一个引用计数器,每当有一个地方引用它时,计数器就+1;当引用失效时,计数器-1;任何时刻计数器为0的对象不能再使用,即对象已“死”。...

2019-05-29 19:57:22 122

原创 二叉树的习题

求树中结点个数int Size2(Node *root) { if (root == NULL) { return 0; } else if (root->left == NULL && root->right == NULL) { return 1; } else { int left = Size2(root->left); int rig...

2019-05-27 21:28:39 301

原创 包装类

Java中,数据类型分为:基本数据类型:byte、short、int、long、float、double、char、boolean引用数据类型:数组、类、接口1 包装类基本原理将基本数据类型封装到类中。class IntDemo{ private int num; public IntDemo(int num){ this.num=num; ...

2019-05-27 14:24:57 64

原创 树型结构之二叉树

树的定义由N(N>=0)个结点构成的集合。有一个特殊的结点,称为根节点,根节点没有前驱结点。结点:包括一个数据元素及若干指向其他子树的分支(指针(索引))结点的度:结点所拥有子树的个数分支结点:度不为0的结点,分支结点也称为非终端结点。一棵树中除叶结点外的所有结点都是分支结点。祖先结点:从根节点到该结点所经分支上的所有节点。子孙结点:以某结点为根节点的子树中所有结...

2019-05-26 21:53:00 124

原创 String类

1 实例化方式直接赋值String str = "Hello World";//str是一个对象,那么“Hello World”应该保存在堆内存中构造法String str = new String("Hello World");实例化的区别:1.采用直接赋值String str1 = "Hello";String str2 = "Hello";System....

2019-05-26 20:17:01 103

原创 冒泡排序、快速排序、

冒泡排序每次冒泡,把一个最大的数挤到无序部分的最后去。如果遍历整个无序区间期间时,一次交换都没发生说明无序区间是有序的void BubbleSort(int array[], int size) { for (int i = 0; i < size; i++) { int isSorted = 1; for (int j = 0; j < size - 1 - ...

2019-05-23 17:21:57 611

原创 插入排序、选择排序

插入排序每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的合适位置上去,直到元素全部插完为止直接插入排序当插入第i(i>=1)个元素时,前面的array[0]、array[1]......array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],.....的排序码顺序进行比较,找到插入位置将array[i...

2019-05-21 17:45:36 90

原创 对于杯子、淘宝搜索框的测试用例

对于杯子的测试功能水到容量的一半 水到规定的刻度线 水杯容量刻度与其他水杯一致 盖子拧紧水到不出来 烫手验证性能使用的最大次数或时间 掉到地上不易损坏 盖子拧到什么程度水倒不出来 保温时间长 杯子的耐热程度 杯子的耐寒程度 长时间放置水不会漏 杯子上放置重物至什么程度杯子不会损坏界面外观界面完整、美观 大小与设计一样 拿着舒服 材质与设...

2019-05-16 09:43:27 4229

原创 多线程常用操作方法

1 线程命名与取得public Thread(Runnable target,String name),创建线程的时候设置名称 public final synchronized void setName(String name),设置线程名称 public final String getName(),取得线程名字 public static native Thread curren...

2019-05-14 21:15:11 137

原创 判断一个字符串是否是ip地址

IP的格式:(1-255).(0-255).(0-255).(0-255)public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String ipStr = scanner.next(); boolean isIpLegal =...

2019-05-13 20:23:00 2756

原创 用户登录过程测试分析

功能测试输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。 输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。 登录成功后能否跳转到正确的页面。 用户名和密码,如果太长或者太短,应该怎么处理。 用户名和密码中有特殊字符(比如空格)的情况。 记住用户名的功能。 登录失败后,不能记录密码的功能。 用户名和密码前后有空格的处理。 密码是否非明文显示,使用星号...

2019-05-13 19:20:00 1809

原创 测试分类

按开发阶段单元测试例如:手机中的美颜功能单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试对象:最小模块测试人员:白盒测试工程师或开发工程师测试依据:代码和注释+详细设计文档(代码的逻辑结构)测试方法:白盒测试测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试集成测试集成测试也称联合测试(联调)、组装测试,将...

2019-05-11 19:23:37 527

原创 测试用例

1.概念测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:版本、测试环境、操作步骤、测试数据、预期结果等要素。好处测试执行者的依据使得工作可重复,自动化测试的基础评估需求覆盖率用例的复用积累测试的方法思路以供后续借鉴不足设计测试用例花费时间较长测试的覆盖率无法衡量不知道是否较全面的测试了所有功能对新版本的重复测试很难实施...

2019-05-07 17:47:40 343

原创 模拟shell实现

shell处理流程: 1.获取标准输入 2.对输入字符串进行解析(获取程序名称+参数) 3.创建子进程 :程序替换-程序名称 4.进程等待写一个shell,需要循环以下过程:获取命令行 解析命令行 建立一个子进程(fork) 替换子进程(execvp) 父进程等待子进程退出#include<stdio.h>#include<unis...

2019-05-06 17:31:14 224

原创 多线程

1 进程与线程1.1 概念进程:操作系统中一个程序的执行周期称为一个进程。线程:一个程序同时执行多个任务。通常一个任务就称为一个线程。与进程相比较,线程更轻量级,创建、撤销一个线程比启动一个新进程开销要小的多。没有进程就没有线程,进程一旦终止,其内的线程也将不复存在。1.2 区别每个进程拥有自己的一整套变量,而线程则共享数据。1.3 线程状态2 Java多线程实现...

2019-05-04 15:49:45 75

原创 TCP协议(下 )

滑动窗口滑动窗口在自己的发送缓冲区里。窗口大小指的是无需等待确认应答而可以继续发送数据的最大值,上图的窗口大小就是4000个字节(四个段) 发送前四个段的时候,不需要等待任何ACK,直接发送 收到第一个ACK时,滑动窗口向后移动,继续发送第五个段的数据,依次类推 操作系统内核为了维护这个滑动窗口,需要开辟发送缓冲区来记录当前还有哪些数据没有应答;只有确认过应答过的数据,才能从缓...

2019-05-03 20:21:23 149

原创 软件测试的执行

软件测试的生命周期需求阶段---测试人员了解需求,对需求进行分解,得出测试需求。计划阶段---根据需求编写测试计划/测试方案。设计阶段---搭建测试用例框架,根据需求和设计编写一部分测试用例。编码阶段---对于已经编码的模块,专业的白盒测试人员可以计划执行单元测试,完善、细化测试用例以及调整测试计划和方案。测试阶段---根据测试用例和计划执行测试,在执行的过程中记录...

2019-05-01 22:06:58 706

原创 传输层协议---UDP协议、TCP协议

UDP协议UDP协议段格式16位UDP长度:表示整个数据报(UDP首部+UDP数据)的最大长度; 如果检验和出错,就会直接丢弃UDP通过定长报头(8字节)将报头和有效载荷分离。 UDP通过目的端口号向上交付UDP的特点:无连接:知道对端的IP和端口号直接进行传输,不需要建立连接; 不可靠:没有确认机制,没有重传机制,如果因为网络故障该段无法发到对方,UDP协...

2019-04-24 19:48:44 177

原创 应用层协议---HTTP协议

认识URL我们平时说的网址,其实就是说的URL。HTTP协议格式HTTP请求无状态:并不会记录当前用户在访问。https:加密协议HTTP常见HeaderConnetion:长连接 Content-Type:数据类型(text/html) Content-Length:正文部分读多少 Host:客户端告知服务器,所请求的资源在那个主机的那个端口上 re...

2019-04-23 15:59:14 241

原创 初识软件测试

概念很多人都会以为软件测试就是在找bug,而实则不然。软件测试就是证明软件不存在错误的过程; 软件测试就是为了证明程序能够正确的运行比如说,我们都曾经历过考试,而在答完题后的检查过程,就是在“测试”;买一部新手机,我们会首先看它能否正常使用,这个过程,也是在“测试”。这些都说明了软件测试是在验证功能是否满足用户的需求。之前有对软件测试的定义,即软件测试就是对程序能够按预期...

2019-04-22 19:56:57 228 1

原创 链表习题(二)

1.查找单链表的倒数第K个节点设置两个指针(一个记为快指针,一个记为慢指针),都先指向头节点 让快指针先走k-1步 快、慢指针都一步一步往下走,知道快指针为空,慢指针所在位置就是K节点所在位置struct ListNode* FindKthToTail(struct ListNode* PListHead, unsigned int k) { if (PListHead == ...

2019-04-21 00:51:48 254

原创 链表的习题(一)

1.删除链表中值为v的结点保存值为v节点的前一个节点 释放置为v的节点 保存的节点指向值为v节点的下一个节点地址void SListRemove(SList *s, SListDataType v) { if (s->first == NULL) { return; } if (s->first->value == v) { Node *secon...

2019-04-20 23:12:30 279

原创 链表的相关操作

链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的数据元素,称存储单元为一个节点。typedef int SListDataType;//链表中的一个结点typedef struct Node { SListDataType value;//值 struct Node *next;//下一个结点的地址}Node;//Single Listtypedef st...

2019-04-20 22:06:49 99

原创 关键字-this、static、super、final

1 this关键字1.1 this调用本类属性class Person{ private String name; private int age; public Person(String name,int age) { this.name = name; this.age=age; } public Strin...

2019-04-20 16:55:27 140

原创 继承和覆写

继承的定义与使用继承:在已有基础上继续进行功能的扩充。class Person{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this....

2019-04-20 13:21:19 146

原创 DNS、ICMP、NAT技术

DNS(应用层协议)DNS是一整套从域名映射到IP的系统。DNS背景TCP/IP使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆。于是人们发明了一种叫主机名的东西,是一个字符串,并且使用hosts文件来描述主机名和IP地址的关系。DNS系统一个组织的系统管理机构,维护系统内的每个主机的IP和主机名的对应关系。 如果新计算机接入网络,将这个信息注册...

2019-04-19 10:41:47 277

原创 代码块和内部类

1 代码块定义:使用{ }定义的一段代码。分类:普通代码块 构造块 静态块 同步代码块1.1 普通代码块普通代码块:定义在方法中的代码块。public class Test{ public static void main(String[] args) { {//直接使用{}定义 int x=10; ...

2019-04-17 18:18:29 272

原创 IP协议

IP协议提供一种能力,从A主机将数据跨网络送至B主机的能力。主机:配有IP地址,但是不进行路由控制的设备。路由器:即配有IP地址,只能进行路由控制。节点:主机和路由器的统称。IP地址:网络号+主机号IP报文在路由时,以IP协议所在的目标地址路由。IP协议段格式:IP协议解释:4位版本号:指IP协议的版本,对于IPV4来说,就是4(IPV6占128个bit位)...

2019-04-16 21:29:33 128

原创 数据链路层

用于两个设备(同一种数据链路节点)之间进行传递。以太网“以太网”不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等。 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等。以太网帧格式:源地址和目的地址是指网卡的硬件地址(MAC地址),...

2019-04-16 17:16:57 276

原创 网络基础(一)

计算机网络背景网络发展独立模式:计算机之间相互独立。每个计算机之间相互独立,每个终端各自持有客户数据。一个程序员运行业务2时需等待前面的业务1处理完才可运行,其前的程序员未处理完时,则一直处于等待状态。网络互联:多台计算机连接在一起,完成数据共享。每个程序员都使用各自独立的计算机,业务之间也能随时自由切换。共享数据由服务器集中管理。局域网WLAN:计算机数据更多了,通过交换...

2019-04-15 21:21:22 182

原创 DS---顺序表的相关操作

顺序表顺序表:用一段地址连续的存储单元依次存储数据元素的线性结构地址连续的空间:一般情况下采用数组,但数组有静态数组和动态数组,所以顺序表分为:静态顺序表和动态顺序表首先我们先来看看两种顺序表的结构:静态顺序表#define MAX_SIZE 10typedef int DataType;//int的别名,如此定义方便后期数据类型修改struct SeqList ...

2019-04-15 19:13:33 287

原创 面向对象编程---类与对象

1 面向对象编程简介1.1 面向对象编程的三大特征封装性:将客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的进行信息隐藏。简而言之就是,内部操作对外部而言不可见(保护性)。 继承性:可使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 多态性:一个类实例的相同方法在不同情形下有不同表现形式。多态机制使具有不同内部结构的内...

2019-04-15 18:13:04 263

原创 Java语言部分基础知识点

1 Java程序编译-执行过程在命令行窗口下: 编译语法: javac *.java --->*.class(若程序出现中文 - encoding -UTF-8 *.java) 执行语法:java 主类名称 命令行向主方法传参: java 主类名称 参数1,参数2.....2 Java语言编程注意事项 ...

2019-04-13 20:42:26 184

原创 Java对数组的支持及对象数组

1 Java对数组的支持1.1 实现数组排序Java类库中数组排序操作如:java.util.Arrays.sort(数组名);只要是基本类型的数据,Java中提供的sort方法都可以进行排序处理。1.2实现数组拷贝数组拷贝System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);目标数组arrDest: {1,2,3,...

2019-04-13 11:09:42 225

空空如也

空空如也

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

TA关注的人

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