- 博客(49)
- 收藏
- 关注
原创 基于SSM的blog分享站测试用例设计之Selenium自动化测试
首先看看我的博客系统的界面如下:(1)登录界面(2)主列表页界面:(3)博客详情页界面:(4)博客编辑界面:测试用例一般从这几个方面进行设计:功能、界面、兼容、性能、易用性、安全性、网络。但由于是本人的一个小项目,所以涉及到的方面有限。博客系统分为四个主要功能:登录功能、列表页功能、编辑博客功能、博客详情页功能。因为导航栏是公共的,所以有这些功能是公共的:由于这是本人的一个小系统,所以兼容性测试涉及的比较少,通常情况下还会涉及的安卓/平板设备的兼容性,但此处涉及不到。以上就是所有的测试用例
2023-06-09 16:40:24
1180
2
原创 Bean 的作⽤域
之前我们在 Java 中说的作用域是限定程序中变量的可⽤范围,或者说在源代码中定义变量的某个区域就叫做作⽤域。那么 Bean 的作⽤域是什么呢?接下来看看:Bean 的作⽤域(默认是单例模式)是指 Bean 在 Spring 整个框架中的某种⾏为模式。该如何理解这个行为模式呢?用。
2023-04-22 16:23:01
446
原创 HTTPS 的加密流程
HTTPS 也是一个应用层协议。HTTP 协议内容都是按照文本的方式明文传输的, 这就导致在传输过程中出现一些被篡改的情况是,在互联网上, 明文传输是比较危险的事情!!!所以 HTTPS 是在 HTTP 协议的基础上引入了一个加密层,进一步的来保证用户的信息安全。HTTPS 就是 HTTP+SSL(安全层)。SSL 是用来加密的协议。
2023-03-21 23:55:25
213
原创 如何构造 HTTP 请求?
http请求过程,form (表单) 是 HTML 中的一个常用标签. 可以用于给服务器发送 GET 或者 POST 请求。注意!!是 form 不是 from!!!对于 GET 请求的构造有以下几种:构造 GET 请求,在 VSCode 中新建一个html,并且在 body 中编写以下代码并且执行:执行页面之后,输入 haha(也可以不输入直接提交),提交:通过 fiddler 抓包可以看到对应关系:postman
2023-03-20 18:39:38
566
原创 传输层协议——TCP协议(重点)
传输层协议——TCP协议TCP 特点TCP内部机制确认应答、超时重传、连接管理(三次握手四次挥手)、滑动窗口、流量控制、拥塞控制、延时应答、捎带应答、面向字节流、异常情况
2023-03-14 20:41:18
508
原创 传输层协议——UDP协议
传输层虽然是操纵系统内核已经实现好了的,但是我们程序猿写代码要调用系统提供的 socket API 完成网络编程,其中 socket 就属于传输层部分。UDP协议
2023-03-07 23:00:38
766
原创 多线程使用哈希表
ConcurrentHashMap的读是否要加锁,为什么? ConcurrentHashMap在 jdk1.8 做了哪些优化?取消了分段锁, 直接给每个哈希桶(每个链表)分配了一个锁(就是以每个链表的头结点对象作为锁对象)Hashtable和HashMap、ConcurrentHashMap 之间的区别?HashtableConcurrentHashMap
2023-02-22 12:10:59
921
原创 死锁的原因及解决方法
什么是死锁呢?“死锁”就是2个或2个以上的线程互相持有对方想要的资源,导致各自处于阻塞等待状态,致使程序无法执行下去形成死锁的必要条件,如何避免死锁,哲学家问题
2023-02-11 21:00:05
2420
原创 JavaEE初阶:进程调度的基本过程
JavaEE初阶:进程调度的基本过程• 什么是进程进程是操作系统对一个正在运行的程序的一种抽象。简单来说,一个正在运行的程序就是一个“进程”,没有跑起来的程序就不算是一个进程。• 操作系统如何管理进程?两步走:描述+组织• PCB里边描述了哪些进程的特征?1. 进程的唯一标识 —— pid。也是进程的身份标识符,唯一的数字。2. 内存指针 —— 指向了自己的内存是有哪些。3. 文件描述符表 —— 硬盘上的文件等其他资源。4. 进程调度的相关属性
2023-02-01 12:39:48
218
原创 【java】String类
【java】String类在面向对象中,字符串的应用非常广泛,所以为了符合面向对象的思想,Java语言专门提供了String类,接下来就看一下String类吧!!!字符串构造,拆分,转换,比较
2022-10-30 12:24:12
99
原创 C语言——动态内存管理
/ free函数用来释放空间。这个函数向内存申请了一块连续可用的空间,并返回指向这个空间的地址。calloc函数也用来动态分配内存。常见的动态内存错误(以下做法都错误)动态开辟内存忘记释放(内存泄漏)返回的是一个新的内存地址。
2022-10-24 21:39:56
519
原创 内部类(实例、静态、匿名内部类)
当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服 务,那么整个内部的完整结构最好使用内部类。在 Java 中,可以将一个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类。在实例内部类方法中访问同名的成员时,优先访问自己的,如果要访问外部类同名的成员,必须:外部类名称.this.同名成员 来访问。普通内部类(实例内部类):未被static修饰的成员内部类。外部类中,不能直接访问实例内部类中的成员,如果要访问必须先要创建内部类的对象。
2022-10-21 22:34:15
461
原创 Java运算符
java有算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算符。在这里主要介绍逻辑运算符。逻辑运算符主要有3个: && ||!需要注意的是:逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是boolean。
2022-10-13 22:56:10
145
原创 C语言——文件相关函数
在C语言中我们通常会使用feof函数来判定文件读取的结束,然而对该函数的使用过程中,由于大部分人还没有搞清楚如何正确使用该函数,所以会使用错误,下面将介绍如何正确使用!fprintf:按照一定的格式从输出流(文件/stdout)输出数据。fscanf:按照一定的格式从输入流(文件/stdin)输入数据。这两个函数适用于标准输入/输出流的格式化的输入/输出语句。这两个函数适用于所有的输入/输出流的格式化输入/输出语句。sscanf:从字符中按照一定的格式读取出格式化的数据。二、文件读取结束的判定。
2022-10-12 23:04:23
454
原创 C语言--结构体内存对齐
在设计结构体的时候,既要满足对齐,又要节省空间,应该让占用内存空间小的成员集中在一起。所以下面S1和S2结构体的对比之下,应该设计成S2,占用的空间小。4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍,结构体的整体大小就是所以最大对齐数(含嵌套结构体的对齐数)的整数倍。3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。1.第一个成员在与结构体变量偏移量为0的地址处。结构体的内存对齐是拿空间来换取时间。
2022-10-08 21:10:46
114
原创 C语言库函数(strtok、strerror、tolower、toupper)
C语言库函数(strtok、strerror、tolower、toupper)
2022-10-06 00:25:51
324
原创 三子棋游戏(C语言实现)
回顾游戏规则:大家小时候肯定都玩过五子棋吧,游戏规则就是双方按照顺序进行下棋,谁先完成五个旗子连成一排(横排、竖排、斜着连成一排),谁先获胜。那么三子棋也是如此,也就是三子连成一排即可获胜。首先我们先简单了解一下三子棋游戏:游戏需要在这九个位置进行落棋。玩家和电脑依次在这9个位置进行下棋,直到一方获胜为止。此处我设置的棋盘如上图所示。详细的介绍将在下文展开。
2022-09-13 19:01:02
881
原创 printf返回值
eg: KIKI写了一个"Hello World!"的程序,BOBO老师告诉他printf函数有返回值,你能帮他写一个程序输出printf("Hello World!第二行为调用printf("Hello World!printf返回值就是输出的字符的个数。第一行为Hello World!
2022-09-08 19:17:29
186
原创 统计字符串重复字符和重复次数
请输入一个字符串,再输入要添加的某若干个字符,大小写不用区分,统计出字符串中重复字符的个数,并输出重复字符及其重复次数。
2022-06-16 15:13:18
4557
原创 集合的合并
利用线性表LA和LB分别表示两个集合A和B,通过对线性表的应用来将两个集合合并为一个新的集合建立两个空表,将集合存入两个线性表中,在LA中查找LB中元素,如果不存在该元素则将元素插入线性表LA中,从而实现两个集合的合并。/*author:sangy time:2021-09-16 version:1.0 功能描述:利用线性表La和Lb分别表示两个集合A和B,现将两个集合合并为新的集合A */#include<stdio.h>#define MAXSIZE 100 .
2021-12-29 15:35:27
3004
原创 电文的编码和译码
题目内容从键盘接收一串电文字符,输出对应的Huffman(哈夫曼)编码,同时,能翻译由Huffman编码生成的代码串,输出对应的电文字符串。设计要求:(1).构造一棵Huffman树;(2).实现Huffman编码,并用Huffman编码生成的代码串进行译码;(3).程序中字符和权值是可变的,实现程序的灵活性。 算法设计在电报通信中,电文是以二进制代码传送的。在发送时,需要将电文中的字符转换成二进制代码串,即编码;在接受时,要将收到的二进制代码串转化为对应的字...
2021-11-29 00:19:54
2491
2
原创 邻接矩阵存储图并深度优先搜索遍历
采用邻接矩阵形式存储图,对图进行优先深度搜索,并输出结果。算法设计 用邻接矩阵存储图首先定义图的邻接矩阵存储结构,其中一维数组vertexs用来表示与顶点有关的信息,二维数组arcs用来表示图中顶点之间的关系。 之后要初始化邻接矩阵,初始化顶点个数以及边的个数,输入数据并且添加权值然后输出矩阵。 深度优先搜索然后遍历,最后输出搜索遍历后的顺序。 深度优先遍历类似于树的先根遍历,是树先根遍历的推广。深度优先遍历是个递归过程,所以这个算法可以用递归实现。从...
2021-11-27 23:20:24
7385
3
原创 求二叉树中度为1的结点个数
若用二叉链表作为二叉树的存储表示,设计算法求二叉树中度为1的结点个数。利用二叉树结构上的递归特性,用递归的方法实现。分为4种情况:若某结点有左子树和右子树,则以此结点为根的二叉树中度为1的结点个数=左子树的度为1的结点个数+右子树的度为1的结点个数。若该结点只有左子树,则以该结点为根的二叉树中度为1的结点个数= 1+左子树中度为1的结点个数。(+1是因为要算上以此结点为根的结点)。若该结点只有右子树,则以该结点为根的二叉树中度为1的结点个数...
2021-11-20 18:26:11
14633
2
原创 先序中序建立二叉树,先序非递归遍历
题目内容编写程序,实现以下功能:按中序顺序建立一棵二叉树。 用先序非递归方式遍历二叉树。算法设计二叉树的创建可以是先序创建、先序中序创建、中序后序创建。显然不可以只用中序或者后序单独创建一棵二叉树。根据定义,二叉树的先序遍历是先访问根结点,再按照先序遍历方式遍历根结点的左子树,最后按照先序遍历方式遍历根结点的右子树。这就是说,再先序序列中,第一个结点一定是二叉树的根结点,另一方面,中序遍历是先遍历左子树,然后访问根结点,最后再遍历右子树,这样,根结点在中序序列中必然将中序序列分割成两个.
2021-11-14 21:52:12
3089
原创 KMP算法的实现
目录问题描述数据结构算法设计算法流程图程序实现运行结果问题描述求一个字符串在另一个字符串中出现的位置。要求:利用键盘输入两个字符串,一个设定为主串,另一个设定为子串,对这两个字符串应用KMP算法,求出子串在主串中第一次出现的位置。数据结构本设计使用串的顺序存储结构来实现。算法设计当子串中每个字符依次和主串中的一个连续的字符序列相等,则成为匹配成功,反之,成为匹配不成功。程序中函数GetNext()是求出模式串t的next函数值并存入数组next中...
2021-10-30 15:38:35
494
原创 用三元组表实现稀疏矩阵的基本操作
目录问题描述数据结构算法设计算法流程图源代码运行结果 问题描述编写程序用三元组表实现稀疏矩阵的按列转置操作。数据结构本设计使用三元组表实现。算法设计程序中设计了三个函数:1.函数InitSPNode()用来建立一个稀疏矩阵的三元组表。 首先输入行数、列数和非零元的值,输入(-1 ,-1,-1)结束输入。2.函数showMatrix()用来输出稀疏矩阵。 算法中按矩阵a的列进行循环处理,对a的每一列扫描三元组,...
2021-10-30 10:32:47
3798
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人