自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在线音乐播放网站项目测试(selenium+Junit5)

接下来按照如下Suite顺序进行解释每个页面的测试代码。1:进行登录,跳转到上传界面。1:进行登录,跳转列表首页。2:只输入账号和确认密码。4:输入正确,注册成功。1:只输入账号和密码。

2024-04-23 00:12:20 271

原创 个人音乐播放网站项目(SpringBoot+Linux部署上线)

下图就是一个前端JS里面的ajax请求的例子,前端通过发送post的http请求,通过url路径为“/user/login” 给后端接口 传输数据为data,随后后端处理完以后通过success进行结果的接收,返回给前端的result结果,最后渲染。2、需要将连接数据库的用户名和密码改成服务器上的,也就是云端服务器linux里面数据库的用户名和密码。

2024-04-22 17:37:24 760

原创 博客系统项目测试(selenium+Junit5)

在做完博客系统项目之后,需要对项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面式测试的思维导图,列出该项目需要测试的所有测试用例:

2024-04-13 15:47:53 489

原创 个人博客系统项目(SpringBoot+Linux部署上线)

下图就是一个前端JS里面的ajax请求的例子,前端通过发送post的http请求,通过url路径为“/user/login” 给后端接口 传输数据为data,随后后端处理完以后通过success进行结果的接收,返回给前端的result结果,最后渲染。部署需要用到云服务器,这里作者在华为云租了一个云端服务器,然后通过开放8080、3306端口,然后通过Xshell 、XFTP 进行部署,这里将maven打包好的jar后缀java文件通过xftp拖拽到远程云端服务器的目录下。

2024-04-12 00:01:36 983 4

原创 【CSS】常见选择器用法以及常见的属性修改

【CSS】常见选择器用法以及常见的属性修改

2022-09-25 15:48:39 2750 2

原创 Java一些语法注意(2)

Java一些语法注意(2)

2022-09-24 21:47:32 836

原创 【文件输入输出流】Inputstream和Outputstream

【文件输入输出流】Inputstream和Outputstream

2022-09-18 18:41:19 2575

原创 【多线程】HashMap、HashTable和ConcurrentHashMap的联系

【多线程】HashMap、HashTable和ConcurrentHashMap的联系

2022-09-18 17:24:23 238

原创 Java一些语法注意(1)

Java一些语法注意(1)

2022-09-12 20:26:34 80

原创 【HTML】常用标签总结

HTML常用标签总结

2022-09-12 15:58:56 284

原创 【多线程】线程安全以及synchronized锁的总结

多线程线程安全问题和synchronized总结

2022-09-12 14:05:55 260

原创 【多线程/JAVA】线程的几种状态总结以及sleep()、wait()方法的区别

多线程,Thread,wait()方法,sleep()方法,多线程状态

2022-08-06 00:55:20 1099

原创 【JavaSE】三个重要接口总结

JavaSE,接口

2022-08-04 01:16:22 483

原创 【JavaSE】内部类总结

JavaSE 内部类

2022-08-02 00:28:09 103

原创 【多线程】Thread类的基本用法

Java多线程,Thread类的基本用法

2022-07-31 00:08:38 255

原创 【多线程】线程与进程、以及线程进程的调度

多线程、进程与线程、进程的调度、操作系统

2022-07-30 23:01:26 370

原创 【数据结构】堆(优先级队列)

堆也叫优先级队列,是一种形状是完全二叉树的数据结构,一般用数组存储。为什么叫优先级队列呢,因为这个数据结构分为两种堆,第一种叫小根堆,第二种叫大根堆 。小根堆,意思是在根结点上的数是这个完全二叉树里面最小值,然后所有的子树都是一个小根堆。同理,大根堆里面所有的子树都是大根堆,子树里面的根结点都是子树里面最大的树。下面模拟实现一遍大根堆作为例子便于体会堆这个数据结构:首先定义堆的核心:数组1:然后开始创建一个堆,思路是传入一个数组,将这个数组定义成一个完全二叉树形状的堆。核心在

2022-05-29 23:43:52 316

原创 滑动窗口(单调队列)

记录一个题的代码:

2022-05-14 23:15:12 110

原创 kmp算法模板

即寻找一个母字符串中是否有子字符串。首先可以用朴素算法,即通过两层循环进行查找,时间复杂度会到达O(n*m)。随后学习到了kmp算法,做到了一个循环便查找成功。具体思路是:找到子字符串内部的规律,即找到其内部的前缀和后缀相等的最大个数,并记录每一个下标下的next值,即每一个下标下对应的前面前缀和后缀相等的最大个数的下一个坐标,即next值。通过next数组存储每一个下标下的next值,就可以经过一次循环来判断母字符串是否含有子字符串了。代码以及注释如下:...

2022-05-14 18:31:22 132

原创 【数据结构】链表的模拟实现(双向链表)

学习是一个循序渐进的过程,在模拟实现完单向链表后,接下来实现双向链表,且双向链表就是我们使用Java库里面的链表时候的底层的样子,所以现在来模拟实现一遍。其实在实现完单向链表之后,双向链表就已经很简单了,具体实现思路我们不过多阐述,代码里面有注释,但会在需要注意的地方进行表述和解释。双向链表图解:主要需要实现功能:1:实现双向链表头插。2:实现双向链表尾插。3:实现双向链表全部元素打印。4:实现得到双向链表元素个数。5:实现双向链表某个位置插入元素。6:实现双向链表某个.

2022-05-09 19:16:33 451

原创 【数据结构】链表的模拟实现(单向链表)

在学完顺序表后,学习了链表的使用以及一些功能,然后下面将自己模拟实现一遍链表,加深对链表的理解。链表的模拟实现主要包括以下功能:1:实现在链表头部插入元素。2:实现在链表尾部插入元素。3:实现链表所有元素的打印。4:实现在链表中进行插入元素。5:实现链表中某个位置的元素删除。6:实现获取链表中结点的个数模拟实现链表准备工作:定义一个Mylinkedlist的类,成员变量有size,用于记录链表中结点的个数;然后在类里面定义一个静态内部类Linkedlist,用于表示.

2022-05-03 19:22:24 1088

原创 【数据结构】顺序表实现杨辉三角、扑克牌(Java实现)

在学完数据结构中的顺序表后,为了加深对顺序表的了解以及用于实际,于是我用顺序表模拟实现了杨辉三角、扑克牌结构。杨辉三角:主要实现思想:从第三行开始后的每一行,每一行的第二列到倒数第二列的数字都由上一行的与现在行的列数相同的列的数字和上一行前一列的数字的和。就如图所示:从第三行开始,第三行的第二列开始,第二列的元素等于第二行的第二列元素和前一列元素的和,就是红色部分等于蓝色和黄色的和,之后的每一行都如此。但每一行的首和尾都是1,这个要独立放置。即公式为:a[k][p]=b[k-

2022-04-30 02:11:36 1489

原创 【数据结构】顺序表的模拟实现

学习数据结构,第一个学习的结构就是顺序表,下面将用Java来模拟实现顺序表。顺序表实现实现一个顺序表包括功能:1:在表中末尾添加元素。2:在表中指定位置删除元素。3:获取指定表中的元素。4:修改表中指定位置下的元素。5:获取顺序表中元素个数6:打印表中所有的元素。7:清除表中所有元素。8:扩容顺序表首先定义一个类,包括了以上功能的方法,以及成员变量:NumSize代表表中可存储的容量,nowSize代表当前元素的个数,arrays数组代表顺序表。

2022-04-29 16:46:01 956

原创 二分查找模板

找到数组中从左边开始数第一个大于等于所要找的数字的位置,返回该位置下的数字:‘找到数组中从左边数最后一个大于等于所要找的数字的位置,返回该位置下的数字

2022-04-28 00:19:15 82

原创 归并排序和快速排序模板

归并排序模板:快速排序模板:

2022-04-28 00:06:21 98

原创 Java的抽象类和接口

本篇文章主要总结抽象类和接口的语法以及注意事项。抽象类:在学完普通的类和对象、实例内部类和静态内部类后,了解到还有一个类叫抽象类。抽象类的定义格式:在class前添加abstract(中文意思:抽象的)关键字,就定义了一个抽象类。抽象类需要注意:1:抽象类主要用于被继承,被继承后子类里面需要重写父类(抽象类)里面的所有抽象方法。2:抽象类里面的方法可以有抽象方法和普通成员方法。换句话说也就是有抽象类不一定有抽象方法,但是有抽象方法一定要有抽象类。3:抽象类不能实例化对象。

2022-04-25 12:02:05 1494 1

原创 Java:String类的相关知识总结

在学完Java中String类的知识后,这篇博客是对String类以及相关知识的总结。String类的存储String有几种定义方式,分别是:

2022-04-18 18:59:24 402

原创 Java图书系统(多态、继承、封装)

在学习了Java这个面向对象的编程语言、学习了java的一些核心思想,这些思想包括继承、封装以及多态,下面将用以上思想简单地实现一个图书系统。首先,要明确我们要做一个什么样的系统:主要包括两个功能:1:实现图书管理人员对书架的图书进行增删查改。2:实现借阅图书的人对书进行借出以及查找所要借的书是否借出。下面介绍具体实现过程和思想:第一步,实现书的类:书的类里面属性包括:1:书的名字2:书的类型3:书的作者4:书的价格5:书是否被借出方法:实现对某一本书的借

2022-04-17 02:15:21 1151

原创 java类和对象定义语法规范

学习java的时候,类和对象是两个重要的知识点,他们互相独自存在又互相作用以及密不可分。这篇博客主要总结一下类的语法以及规范。类是什么?首先,java是一门面向对象的语言,而类是对一个对象(实体)进行描述的,主要描述这个对象(实体)有什么属性,有什么功能,然后通过实例化对象来也就是将一个类进行初始化来形成一个具体对象来用。类的定义格式简单来说,在java中运用class关键字来修饰,是类。定义类的时候有几个规范:1,类名要用大驼峰命名(也就是单词的首字母大写,例如student类

2022-04-03 14:45:20 2709 17

原创 C语言中的数据存储方式

这篇文章主要是关于C语言中整形、字符型的变量是如何存储整形数字、是如何、何时发生整形提升,以及还有打印方式的不同打印的数字也不同的知识补充。int与unsigned int:int是在内存中是4个字节,也就是8*4=32个比特位的存储方式,是带正负号的整形。unsigned int在内存中也是占4个字节,32个比特位,但是它是不带正负号的整形。所以当一个负数存放到unsigned int类型的变量里面时:负数在二进制存储的时候第一个数字是1,当以补码的形式将负数存储到unsigned int的时

2022-03-06 01:23:29 2467 13

原创 初识Java

今天第一次用Java写了hello world程序:并且了解到了java是一门半编程,半解释的语言。运行java程序时,是先通过javac来进行编译,编译后产生后缀名为.class文件是由字节码组成的与平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换为平台能够理解的形式来运行。思路如下:1:使用记事本或者IDEA(集成开发环境)来编写java源程序。2:使用java.exe编译器编译java源程序,生产xxx.class字节码文件。3:使用j.

2022-03-05 20:01:12 270

原创 C语言预处理#define指令和预定义符号

在执行一个程序之前,我们会有程序的翻译,也就是将代码翻译成可供机器识别的机器语言(也就是二进制),将程序变成目标文件才到了程序的执行。翻译和执行也叫翻译环境和执行环境。(翻译环境包括了代码的预处理、代码编译以及代码的汇编)而下面要说的是在翻译环境中的预处理操作的内容。预定义符号:__FILE__:进行编译的源文件。__LINE__:文件当前行号。__DATE__:文件编译的日期。__TIME__:文件被编译的时间。上面这四个预定义符号是语言内置的,下面是例子:#define:作为标识符,#d..

2022-02-27 20:32:24 1291

原创 C语言offsetof宏的作用和模拟实现

offsetof作用:offsetof作用:计算结构体成员相对于结构体偏移量,简而言之就是计算结构体成员相对于结构体首地址的距离。需要引用头文件<stddef.h>下面是计算实例:计算结果:所以成员 a偏移量是0,b是4,c是8。那计算完偏移量后的作用是什么呢?计算完偏移量后作用是为了计算结构体占用内存大小,详细请看:C语言深度理解结构体(内存对齐、位段、偏移量、柔性数组)_SPMAX的博客-CSDN博客offsetof宏的模拟实现:首先要明白offsetof宏的..

2022-02-26 15:35:52 615

原创 C语言深度理解结构体(内存对齐、位段、偏移量、柔性数组)

前言:本文主要阐述c语言中对于结构体的深入理解,谈谈关于结构体占用内存是如何计算、如何理解位段、成员的偏移量以及柔性数组是什么、如何用,对于结构体的创建、引用等等不进行赘述。内容主要分为三部分:1 结构体里的偏移量、内存对齐2 结构体里的位段3柔性数组1 结构体中的偏移量、内存对齐在里了解内存对齐之前,要首先理解偏移量是什么?关于偏移量:是我们建立结构体时里面每一个成员的位置相对于结构体首地址的距离的长度,单位是字节数。举个例子:我们建立一个结构体 A,然后创建成员int类型x,char

2022-02-03 17:22:12 3496 25

原创 C语言冒泡排序进阶(模拟qsort函数)

本文主要讲述了是如何理解冒泡排序算法以及将冒泡排序进一步优化,达到可以接近模拟qsort函数的目的。主要分为三大板块:1:如何理解冒泡排序2:qsort函数是如何使用3:试着模拟qsort函数1 如何理解冒泡排序...

2022-02-02 01:41:48 302 13

原创 C语言实现通讯录(静态和动态两种方式)

前言在c语言学习了关于如何使用结构体以及动态内存管理之后,便掌握了实现通讯录的方法,接下来就是我实现通讯录的具体过程和经验总结。通讯录分为静态和动态实现两种方式。静态实现:实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有联系人信息清空所有联系人首先,先定义一个结构体存放个人信息:(这里用到了typedef自定义类型A,借用A代替str.

2022-01-30 22:21:03 1071 21

原创 C语言中的动态内存管理

前言在了解动态内存管理之前,我们要先了解关于c语言的内存中的栈区、堆区和静态区:栈区主要存储形式参数(也就是我们调用函数的时候一般会将我们定义的实参传入函数后所形成的参数),以及局部变量(比如说就是我们在main函数中定义的int A=10;等等的变量)。在栈区创立的变量在程序运行完后会自动回收,不需要我们去进行回收操作,而堆区是我们可以在堆区内存充裕时按照自己所需要的字节大小去主动申请空间的地方,我们称之为堆区,也就是我们下面主要要讲到的动态内存管理,相比于栈区更具有可操作性,需要自己去回收。最后一个时静

2022-01-30 01:47:51 1634 13

原创 C语言中memmove函数和memcpy函数区别、应用和模拟实现

C语言中memcpy函数和memcpy函数区别、应用和模拟实现

2022-01-29 00:03:18 697 3

广工计算机网络实验报告

广工计算机网络实验报告

2023-11-13

广工操作系统实现报告汇总-(银行家算法、动态内存分配、生产者消费者、进程调度)Java实现

广工操作系统实现报告汇总-(银行家算法、动态内存分配、生产者消费者、进程调度)Java实现

2023-11-13

广工操作系统期末课程设计作业-生产者消费者模型(操作系统)

广工操作系统期末课程设计作业-生产者消费者模型(操作系统)

2023-11-13

广工数据结构课程设计大作业-平衡二叉树-Java实现(数据结构期末)

广工数据结构课程设计大作业-平衡二叉树-Java实现(数据结构期末)

2023-11-13

空空如也

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

TA关注的人

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