自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图书管理系统的测试

3、用户注册时,输入长度为6~20位,至少有一个大写字母、小写字母、数字的密码,也可以加_,(大写字母+小写字母+数字/大写字母+小写字母+数字+_),点击注册,密码一栏会显示√表示格式正确。1、用户注册时,输入长度为3~20位、以字母开头、包含数字和_的用户名(字母+数字/字母+_/字母+数字+_),点击注册,用户名一栏会显示√,表示格式正确;50、在新增页面,点击班级,会出现下拉框让我们选择,只有选择了班级,才能点击专业进行选择,选择了班级毕业年份会自动显示出来。取消勾选,页面是否就不显示相关内容。

2022-09-12 19:32:43 7980 9

原创 网络编程套接字

因为根据程序我们可以知道是服务器这里的逻辑有些问题,当没有客户端建立连接的时候,此时服务器就阻塞在accept方法上,当有客户端连接的时候,accept返回得到clientSocket并且进入processConnection方法,此时在这个方法中,代码就在sc.next()请求这里阻塞,如果有请求,结束阻塞读取数据,处理完请求之后又回到hasNext()这里阻塞,相当于说客户端什么时候退出,循环啥时候结束。无连接就相当于我们发信息,A发过去给B了,B收到了,但是我们也不能确定B是否有看到消息。......

2022-08-23 06:00:24 384

原创 初识网络原理

这就好比我们在某宝(应用层)上买衣服,我就需要填写我的收件人地址和电话,卖家就发货,他也需要填写地址和电话,我和卖家只关注起点和终点,我们就相当于传输层,卖家把货交给快递公司,快递公司需要规划好具体运输路线,快递公司就相当于网络层,专门的快递小哥要进行送货,这个快递小哥就相当于数据链路层,衣服需要在公路或者航道上运输,这些公路、航道等基础设施就是物理层。就好像我们去饭店吃饭,这时候我们就相当于客户端,饭店相当于服务器,我们把要吃什么(请求)告诉饭店,饭店就会给我们相应的饭菜(响应)。.........

2022-08-20 05:48:16 326

原创 文件操作和IO

开头,以工作目录为基准,去找相对应的路径。就比如我们使用word的时候,打开文件的时候,系统会自动生成一个临时的隐藏文件,如果此时电脑突然掉电,此时临时文件来不及删除,下次启动的时候,office就会自动监测到当前的临时文件存在,于是就能知道上次是异常结束,就会提示用户是否要恢复数据。这里不仅可以用read来读取文件,也可以用Scanner,Scanner内部持有的InputStream是标准输入,标准输入的这个文件,一般是不关闭的,这个文件是每个进程创建出来之后,操作系统默认打开的文件。......

2022-08-07 07:21:07 794 2

原创 多线程---进阶

目录 🥬常见的锁策略🌵乐观锁和悲观锁🌵读写锁🌵重量级锁和轻量级锁🌵自旋锁和挂起等待锁🌵公平锁和非公平锁🌵可重入锁和不可重入锁🥬CAS🥬synchronized🥬Callable接口🥬JUC(java.util.concurrent) 的常见类🌵ReentrantLock🌵Semaphore🌵CountDownLatch🥬线程安全的集合类🌵ConcurrentHashMap🥬死锁因为加锁是一个开销比较大的操作,所以我们希望在特定的场景下,针对场景做一些取舍,让锁更加高效一些............

2022-08-06 11:23:07 356

原创 多线程---初阶

在了解多线程之前先来看看进程是什么。进程就是计算机完成一个工作的过程。 进程是如何被管理的呢?管理=描述(PCB)+组织⭐描述:进程控制块,这是一个C语言的结构体,一个结构体对象代表一个进程。PCB属性:1、pid:一个进程的标识符,同一个机器同一时刻不可能有两个进程的pid相同。2、内存指针:表示进程使用的内存空间的范围。3、文件描述符表:表示这个进程都打开了哪些文件,⭐组织:使用一定的数据结构来组织,比较常见的就是用双向链表。查看进程列表,本质上就是遍历操作系统内核中的这个链表,并显示其中的属性;创建一

2022-07-28 07:03:09 342

原创 初始JDBC 编程

目录🥬具体操作🥬JDBC的基本编程流程🥬小结1、打开IDEA,先创建一个新工程2、引入依赖,JDBC编程需要用到mysql的驱动包。(驱动包就是把mysq|自身的api给转换成jdbc风格的)。下载驱动包,选择与自己mysql版本对应版本的驱动包。 3、将驱动包导入到项目中1)先在刚刚创建的新工程里面创建一个目录 2)把下载的jar文件拷贝到刚刚创建的目录中 3)右键刚才的目录,选择Add as library… 4、编写代码1、创建DataSource对象,这个对象就描述了数据库服务器在哪。 描述服...

2022-06-27 21:05:43 7345 42

原创 mysql索引和事务

目录🥬索引是什么🥬索引的使用场景🥬索引的常见操作🥬索引背后的数据结构🥬事务是什么🥬事务的基本特性🥬小结1、数据量较大,且经常对这些列进行条件查询。2、该数据库表的插入操作,及对这些列的修改操作频率较低。3、索引会占用额外的磁盘空间。满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引。2、查看索引3、删除索引🥬索引背后的数据结构索引背后的数据结构是B+树。 B+树优势:1、...

2022-06-24 15:06:27 1377 16

原创 mysql表的增删改查(进阶)

目录🥬新增🥬聚合查询🥬分组查询🥬条件查询🥬联合查询 🥬自连接🥬合并查询🥬小结只对数字有意义 这里是先执行分组,再根据分组执行每个组的聚合函数。group by 子句进行分组以后,需要对分组结果再进行条件过滤时,就可以使用having。where是在分组之前执行,如果要对分组之后的结果进行条件筛选,就需要使用having(having搭配group by使用)。例如:求每种角色的平均薪资,除了吴九。(这里就是用where,分组之前指定条件,先去除吴九,在分组......

2022-06-22 22:27:06 22339 62

原创 mysql数据库基础

目录🥬常用数据类型🥬数据库基本操作 🥬约束类型🥬小结1、int:整形2、double(m,d) decimal(m,d):浮点数类型 (m指定长度,d表示小数点位数)3、varchar(size):字符串类型4、timestamp:日期类型不管执行什么语句,都要在语句的最后加上;(分号)。1、创建数据库2、显示当前数据库3、删除数据库4、使用数据库5、创建表6、查看表结构7、插入数据8、查找语句全列查找指定列查询指定查询字段为表达式(在查...

2022-06-20 22:03:07 2037 14

原创 Map和Set

目录🥬Map🍌Map常用方法的使用🥬Set🍌Set常用方法的使用🌲例题🥬二叉搜索树🥬哈希表 🍌哈希冲突🍌避免冲突🥬小结1、V put(K key, V value) //设置 key 对应的 value2、V get(Object key) //返回 key 对应的 value3、V getOrDefault(Object key, V defaultValue) //返回 key 对应的 value,key 不存在,返回默认值4、V remove(Obje...

2022-06-17 20:25:28 1390 8

原创 排序---

目录🥬稳定性🥬直接插入排序🥬希尔排序🥬选择排序🥬堆排序🥬冒泡排序🥬快速排序🥬归并排序🥬计数排序🥬小结从数组下标为1开始,将下标为1上的值取出来放在tmp中,然后它和前面的下标j上的值进行比较,如果前面下标j上的值比它大,则前面下标j上的值往后走一步,直到比到j回退到了-1或者j下标上的值比tmp小为止,然后把tmp插入到下标为[j+1]的位置上。然后i就继续往后走,继续比较,直到i走到数组的最后。代码示例:希尔排序是对直接插入排序的优化。将数据进行相应的分组,分为gap组,然后按照...

2022-06-03 20:31:27 387 15

原创 堆(优先级队列)

目录🥬堆的性质🥬堆的分类🥬堆的向下调整🥬堆的建立🥬堆得向上调整🥬堆的常用操作🍌入队列🍌出队列🍌获取队首元素🥬TopK 问题🥬小结🥬堆的性质堆逻辑上是一棵完全二叉树,堆物理上是保存在数组中 。总结:一颗完全二叉树以层序遍历方式放入数组中存储,这种方式的主要用法就是堆的表示。并且 如果已知父亲(parent)的下标,则: 左孩子(left)下标 = 2 * parent + 1; 右孩子(right)下标 = 2 * par...

2022-05-29 22:18:43 6590 16

原创 刷题---二叉树--2

🌵平衡二叉树解题思路:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。题目中已经给出我们提示,我们需要先求出左子树的高度,在求出右子树的高度,然后看他们的高度差。int getHeight(TreeNode root){ if(root==null){ return 0; } int lightLeft=getHeight(root.left); int lightR

2022-05-28 15:55:07 305 4

原创 力扣刷题---二叉树--1

🌵求二叉树结点个数1、子问题思想,结点个数=左结点+右结点+根节点//子问题思路,左右结点+1 int getSize1(TreeNode root){ if(root==null){ return 0; } return getSize1(root.left)+getSize1(root.right)+1; }解题过程:2、遍历二叉树求结点个数 //求结点个

2022-05-22 21:39:54 414 22

原创 初识二叉树

🌴树是什么?树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 1、有一个特殊的节点,称为根节点(如下图的A节点),根节点没有前驱节点。 2、除根节点外,其余节点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合 Ti (1 <= i <= m) 又是一棵与树类似的子树。每棵子树的根节点有且只有一个前驱,可以有0个.

2022-05-21 21:25:08 1368 12

原创 初识栈和队列

🥬栈🐬灵魂三问?1、什么是栈?--->从数据结构角度来看,栈就是一种数据结构,它的特点就是先进后出。2、什么是Java虚拟机栈?3、什么是栈帧?此时JVM stack只是JVM当中的一块内存,该内存一般用来存放例如:局部变量……调用函数的时候,我们会为这个函数开辟一块内存, 叫做栈帧。在哪里开辟呢?---> JVM stack这里主要介绍栈:常见方法的使用:栈怎么用?🐬1、不可能的出栈顺序如果一个堆栈的入栈顺序为ABCDE,那么不可能出栈的顺

2022-05-15 10:16:42 944 34

原创 【Java】List

🥬泛型什么是泛型?泛型本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。为什么要使用泛型?我们之前所了解的顺序表,里面只能放int类型的数据,但是如果我们要存放其他数据类型的数据,该怎么办呢?我们在了解多态过程中已知一个前提,基类的引用可以指向子类的对象。其次,我们也已知 Object 是 java 中所有类的祖先类。 那么,要解决上述问题,我们很自然的想到一个解决办法,将我们的顺序表的元素类型定义成 Object 类型,这样我们的 Object 类型的引用可以指向 其他类

2022-05-13 15:05:59 5596 39

原创 【Java】初识集合框架

🥬集合框架Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。 其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。 例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓

2022-05-12 09:40:33 2179 11

原创 【Java】认识String类

目录🥬String是什么?🥬字符串比较🥬理解字符串不可变🥬字符、字节、字符串💧字符与字符串的相互转换💧字节与字符串🥬字符串常见操作💧字符串比较💧字符串查找💧字符串替换💧字符串拆分💧字符串截取💧其他操作方法🥬小结🥬String是什么?Sring是字符串类型它是引用数据类型,不是基本数据类型。用双引号("")引起来的都是字符串,例如:"a","菜","abcde","123",这些都是字符串。字符串是一种不可变对象,它的...

2022-05-07 15:11:59 6737 37

原创 【Java】面向对象编程--简单版图书管理代码练习

目录🍌前言🥬主函数🥬书的创建🥬对用户的操作🥬对书的操作🥬小结🍌前言今天的内容主要是利用前面所学的知识点:类,抽象类,封装,继承,多态,接口等进行的一个简单的代码练习。 主要要求:1、用户登录2、管理端 查找图书 新增图书 删减图书 显示图书列表 退出系统...

2022-05-05 12:18:40 3020 20

原创 【Java】面向对象编程

🥬包什么是包?包 (package) 是组织类的一种方式。使用包的主要目的是保证类的唯一性。其实就相当于我们C语言中的库函数,已经封装好的函数,写好了功能,我们可以直接用。导入包中的类Java 中已经提供了很多现成的类供我们使用:例如下面这个打印数组的函数public class Test { public static void main(String[] args) { int[] arr={1,2,3,4,5};

2022-05-04 10:04:10 435 11

原创 初识顺序表和链表

线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见 的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。(可以说顺序表就相当于一个数组)那么问题来了,为什

2022-04-28 15:41:16 1006 13

原创 初识时间复杂度和空间复杂度

目录🥬算法效率🥬时间复杂度🥬空间复杂度🥬小结🥬算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额 外空间,在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎(以时间换空间)。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度(以空间换...

2022-04-28 12:11:52 269

原创 【Java】类和对象

目录🥬类和对象的关系🥬类和对象的实例化🥬static关键字🥬private实现的封装🥬构造方法🥬this关键字🥬代码块🥬匿名对象🥬小结🥬类和对象的关系类就是一类对象的统称。对象就是这一类具体化的一个实例。 (对象是类的实例化)对象是什么?此对象非彼对象!!!😂说到对象就要提到过程。面向过程:C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。 ...

2022-04-23 18:24:25 960 7

原创 Java中数组的定义和使用

目录🥬数组的定义 💧数组的三种语法格式 💧遍历数组的三种方式🥬数组的使用🥬数组的练习 💧数组拷贝 💧查找数组中的指定元素(二分查找) 💧判断数组是否有序 💧数组排序(冒泡排序) 💧数组逆序🥬二维数组🥬小结🥬数组的定义数组本质上就是让我们能 "批量" 创建相同类型的变量。💧数组的三种语法格式1、数据类型[] 数组名称 = new 数据类型 [] { 初始化数...

2022-04-22 19:33:36 958 3

原创 Java中方法的使用

目录一、方法二、方法的重载三、方法递归四、小结一、方法💧方法是什么?在Java中方法就相当于C语言中的函数。因为有时候我们需要一块代码重复使用,这时候就可以使用方法。💧为什么要用方法?1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用, 一份代码可以在多个位置使用. 3. 让代码更好理解更简单. 4. 直接调用现有方法开发, 不必重复造轮子💧方法的基本语法格式:public static 返回类型 方法...

2022-04-21 21:21:49 1061 3

原创 JAVA的数据类型和运算符

🥬前言🥬初始Java中的main函数🥬变量和类型💧整型变量💧长整型变量💧双精度浮点型变量💧单精度浮点型变量💧字符型变量💧字节类型变量💧短整型变量💧布尔类型变量💧字符串类型变量🥬变量的命名规则🥬常量🥬类型转换🥬数值提升🥬int和string之间的相互转换🥬运算符💧算术运算符💧增量赋值运算符💧自增/自减运算符💧关系运算符💧逻辑运算符💧移位运算符💧条件运算符🥬小结🥬前言在这里我们主要介绍的是基本数据类型。🥬初识Java的main函数在讲到数据类型前我.

2022-04-19 12:36:25 822 9

原创 C语言文件操作

fputc字符输出函数和fgetc(字符输入函数)fputc字符输出函数int fputc ( int character, FILE * stream );//库函数中的定义将字符写进数据流中,字符被写入流的内部位置指示器指示的位置,然后自动前进一个。#include <stdio.h>int main(){ FILE* pf = fopen("test.txt", "w");//打开文件,以写的方式打开 if (pf == NULL) { perror("fope

2022-04-15 20:01:59 1680 10

原创 动态内存管理

⭐为什么存在动态内存管理⭐动态内存函数的介绍🌙malloc🌙free🌙calloc🌙realloc⭐为什么存在动态内存管理我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = { 0 };//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 但是对于空间的需求,不仅仅是上述的

2022-04-13 19:33:02 164 5

原创 自定义类型:结构体,位段,枚举,联合

目录⭐结构体 🌙结构体声明 🌙结构体变量的定义和初始化 🌙结构体自引用 🌙结构体内存对齐 🌙修改默认对齐数 🌙结构体传参⭐位段 🌙位段的定义 🌙位段的内存分配 🌙位段的跨平台问题⭐枚举 🌙枚举的使用⭐联合 🌙联合类型的定义 🌙联合的特点 🌙联合大小的计算⭐小结⭐结构体🌙结构体声明结构是一些值的集合,这些值称为成员...

2022-04-12 20:45:57 190 5

原创 模拟实现strcpy,strcat,strcmp函数

2022-04-11 19:04:04 493 4

原创 strlen的三种实现方法

目录一、strlen 函数是什么二、strlen 的三种实现方式 1、第一种方法(直接) 2、第二种方法(递归) 3、第三种方法(指针-指针)四、小结一、strlen函数是什么我们经常用到strlen这个函数求字符串长度,但是它是怎么实现的呢?接下来让给我用三种方法带你们看看它是如何实现?首先我们先来了解一下strlen这个函数,strlen 是求字符串长度的函数,它的返回值是size_t,就是unsigned int。字符串以'\0'作为结...

2022-04-10 09:03:08 2380

原创 指针和数组练习题

目录一、一维数组二、字符数组三、小结一、一维数组#include <stdio.h>int main(){ //1.sizeof(数组名)代表的是整个数组的地址 //2.&数组名代表的是整个数组的地址 // 除了以上两种情况之外,数组名都代表首元素地址 int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a));//16;a为数组名,sizeof(a)代表整个数组的地址,所以这里就是整个数组大小 printf

2022-04-07 12:17:44 1225 1

原创 数据在内存中的存储

一、原码、反码、补码二、大小端存储三、整形家族(有符号位与无符号位的区别)四、小结一、原码、反码、补码接下来我们来具体看看它的应用:我们可以调试程序来验证:二、大小端存储在我们看数据在内存中存放时的顺序时,出现了大小端的概念:三、整形家族(有符号位与无符号位的区别)在这里我们可以通过一道例题来看他们的区别:四、小结以上主要讲了不同类型的数据在内存中的存储。我们可以知道不同类型的数据它的字节大小是不一样,所以在运算过程中产生结果也是不..

2022-04-02 09:25:05 208 1

原创 三子棋游戏

目录一.头文件二.主函数三.菜单函数四.游戏函数 1.初始化棋盘 2.打印棋盘 3.开始下棋并且判断输赢五.小结 一.头文件在这里我创建text.c ; game.c;game.h三个文件,其中game.c文件是我实现三子棋所有功能的文件,game.h是我text.c文件引用game.c文件的头文件。#pragma once#include<stdio.h>#in...

2022-03-24 12:56:11 3099

原创 孤寡~孤寡~ 青蛙跳台阶

目录一.青蛙跳台阶是什么二.求青蛙跳第n阶台阶的方法有几种 1.递归方式实现 2.非递归方式实现三.小结一.青蛙跳台阶是什么青蛙每上一次台阶能有多少种跳法,可以一阶一阶跳,如果他嫌太慢了,也可以两阶两阶跳。二.求青蛙跳第n阶台阶的方法有几种/青蛙跳台类似于斐波那契数列,斐波那契数列如下:// 1,1,2,3,5,8,13........

2022-03-23 09:55:40 209

原创 怎么求斐波那契数

目录一.斐波那契数列是什么二.斐波那契数的实现 1.递归方式实现 2.非递归方式实现三.小结一.斐波那契数列是什么斐波那契数列是一个整数序列,序列是一系列数字,其特征是每个数字都是他前面两个数字之和,序列的前两个数字都是1。斐波那契数列表如下所示: 1,1,2,3,5,8,13,21,34..............二.斐波那契数的实现因为第n个斐波那契数为前两个数...

2022-03-22 17:00:41 635

原创 猜数字游戏

一.猜数字游戏是什么二.具体介绍1.头文件定义2.menu()函数3.game()函数4.主函数

2022-03-21 19:25:16 5042

原创 【小菜正在努力中】

@[TOC]目录1.目前的情况2.接下来的目标3.小结1.目前情况我是一名大三在校生,我的专业是电子信息工程,我这个专业有接触过C语言,但是学的不多。现在正在学习C,之前对C的了解不多,还没入门,接下来就是先好好学习C。2.接下来目标说实话我也不知道以后想去哪个地方工作,以前没有接触过本专业的实习工作,但是我觉得不管去哪里工作,我都要有那个能力,所以接下来就是要好好学习,抓紧一切时间。3.小结不要想太多,学就完了,如果有不正确的地方,友友们可以提出来哦。...

2022-03-21 17:25:40 347 3

空空如也

空空如也

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

TA关注的人

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