自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2026远程控制软件前瞻盘点评测:十大品牌谁将引领下一个十年?

2026远程控制软件前瞻

2025-12-25 09:14:05 635

原创 6.好友管理测试用例

好友管理相关的测试用例

2025-11-10 18:53:20 733 1

原创 5.会话列表测试用例

已有历史会话的用户:新注册用户:好友在线状态新建会话:搜索好友:未选择会话状态:选择会话:消息输入框为空:消息输入框不为空:

2025-11-10 18:44:09 514

原创 4.忘记密码页测试用例

1. 页面加载完成后检查所有元素。显示加载动画,页面正常加载完成。

2025-11-10 18:27:06 668

原创 3.注册页测试用例

注册页测试相关测试用例

2025-11-10 18:18:51 985

原创 2.登录页测试用例

登录页测试用例

2025-11-10 16:56:27 1053 1

原创 1.项目功能

网页聊天室项目核心功能

2025-11-10 16:52:39 980

原创 07.二叉树

本文介绍了树形结构和二叉树的定义、特性及基本操作。

2025-08-19 18:58:58 888

原创 06.Stack与Queue

本文介绍了三种常见数据结构:栈、队列和双端队列。

2025-08-05 08:39:37 760

原创 05.LinkedList与链表

本文对比分析了Java中的ArrayList和LinkedList两种List实现。

2025-08-05 08:38:59 1127

原创 04.ArrayList与顺序表

摘要:本文介绍了数据结构中的线性表及其实现方式,重点讲解了顺序表(ArrayList)的原理和使用。

2025-08-03 11:19:05 984

原创 10.关于异常

Java异常处理机制详解。

2025-08-03 11:18:06 991

原创 简单图书系统【Java版】

本文介绍了一个基于JavaSE的简单图书管理系统实现方案。

2025-07-23 16:58:29 693

原创 09.String类

本文系统介绍了Java中String类的核心知识。文章详细讲解了String类的常用方法,包括字符串构造、比较、查找、转换、替换、拆分和截取等操作,并强调了字符串不可变性的设计原理及其优势。

2025-07-23 16:58:25 586

原创 08.抽象类与接口

本文介绍了Java中抽象类、接口和Object类的核心概念。

2025-07-23 16:58:05 581

原创 07.继承与多态

文章摘要: 本文主要介绍了Java中继承与多态的核心概念。在继承方面,详细讲解了继承的作用、语法规则、父子类成员访问方式、super关键字的使用、构造方法调用顺序以及访问权限控制等,强调继承能够实现代码复用并建立类之间的层次关系。多态部分则阐述了其概念、实现条件(继承、重写、父类引用),分析了向上转型与向下转型的应用场景及注意事项,并探讨了重写与重载的区别。此外,文章还对比了继承与组合的差异,指出组合在代码复用中的优势,并提醒避免在构造方法中调用可重写方法可能引发的风险。最后,总结了多态在降低代码复杂度和增

2025-07-03 16:37:34 943

原创 06.类与对象

摘要:本文系统介绍了Java面向对象编程的核心概念。首先阐述了面向对象与面向过程的区别,强调对象间交互的思想。其次详细讲解了类的定义、实例化过程,重点分析了this引用的作用与特性。然后深入探讨了构造方法、对象初始化机制和封装特性。此外,还介绍了静态成员、代码块(普通、构造、静态)的使用场景,以及内部类(实例、静态、局部)的分类和特点。最后讲解了对象打印时toString方法的重写。全文通过洗衣机和日期等日常实例,帮助理解Java面向对象编程的核心原理与实践方法。

2025-07-03 16:37:18 827

原创 05.数组的定义以及使用

本文系统介绍了Java数组的核心知识,包括:1. 数组概念与基本操作:数组是一种存储相同类型元素的连续内存结构,支持静态/动态初始化,可通过下标访问元素,常用遍历方式包括for循环和for-each;2. 数组的引用特性:作为引用类型,数组变量存储堆内存地址,参数传递时传递的是引用,需注意null引用问题;3. 典型应用场景:包括数据存储、方法参数传递(值传递与引用传递区别)和返回值;4. 常用算法实现:如数组转字符串、拷贝、求平均值、顺序查找、二分查找和冒泡排序;5. 二维数组:本质上是一维数组的数组,支

2025-06-28 17:07:43 690

原创 04.方法的使用

方法其实就是一个代码片段,类似于我们C语言中的“函数”。// 方法定义修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];PS:现阶段直接使用public static 固定搭配如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void采用小驼峰命名如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开方法内部要执行的语句在java当中,方法必须写在类当中。

2025-06-24 17:04:55 617

原创 03.逻辑控制

Java程序控制结构摘要程序控制结构包含顺序、分支和循环三种结构。顺序结构按代码书写顺序执行;分支结构通过if-else和switch实现多条件判断,需注意break在switch中的重要性;循环结构包括while、for和do-while,可使用break终止循环或continue跳过当前迭代。输入通过Scanner类实现,输出使用System.out方法。随机数生成需创建Random对象。注意代码规范:避免多余分号,建议使用大括号,保持代码对齐。

2025-06-10 17:15:37 1050

原创 02.运算符

Java基础运算符

2025-06-09 16:32:27 838

原创 01.数据类型与运算符

Java基础数据类型与运算符

2025-05-24 17:30:43 918

原创 测试用例基础知识

测试用例 (Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。测试用例简单来说就是指导如何做测试的文档,该文档主要记录需要验证被测软件的是否满足需求。

2023-10-28 15:36:40 970

原创 基于Spring Boot和WebSocket的在线聊天室测试

项目旨在开发一个类似于微信聊天室的功能,让用户可以在线实时聊天,提高沟通效率。通过用户登录模块、用户注册模块、好友管理模块和消息传输模块的实现,用户可以在相同的频道里发送和接收消息,实现在线聊天的功能。登录页面(用户名:zhangsan,密码:123)

2023-10-08 17:41:19 1062

原创 Web Tour Server窗口闪现

以管理员身份打开cmd命令行,输入命令netstat -aon|findstr “1080”,查看1080端口占用情况。2.右击选择编辑,在最后一行加上pause,保存后重新打开Server窗口。输入taskkill /f /pid pid值 命令,终止占用的进程。1.打开该文件所在位置。

2023-09-23 12:01:00 575

原创 JZ42连续子数组的最大和

遍历整个数组,每当遇到一个新元素时有两种情况,要么加上它会更大,要么加上它会更小。所以dp的状态转换应该为:dp[i] = Math.使用动态规划,这里用dp[]数组表示以下标i为终点的最大连续子数组和。

2023-08-28 15:30:52 282

原创 JZ41数据流在的中位数

首先对于中位数,我们都知道,排序后如果是数组长度是奇数,中位数就是中间的值,也就是n/2的值。如果数组长度是偶数,那么中位数就是中间两个值相加除2,也就是 a= n/2;中位数=(a+b)/2。这样看来我们需要一个排序后的数组,由题意可知这个数组不断在变长,如果增加一个元素排序一次未免不合理,那么我们这里直接使用插入排序。

2023-08-28 15:30:13 208

原创 JZ40最小的K个数

最简单的方法:排序后数组顺序是由小到大的,也就是说此时数组前k个数就是我们要求的结果。注意本题不需要去重。

2023-08-13 16:56:15 247

原创 JZ39数组中出现次数超过一半的数字

最简单用哈希表来记录每个数字在数组中出现的次数,在遍历这个数组时同时进行判断是否满足条件。

2023-08-13 16:55:36 171

原创 JZ38 字符串的排列

这里就要用到剪枝操作了,将整个数组排序后,相同元素必然相邻,在同一层的相同元素要进行剪枝操作,当vis[i-1]=false,相邻且arr[i-1]没有被访问过时,就表示当前是同一层。在本题中直接跳过arr[i]作为dfs开头的路径就ok。首先我们来说全排列,设置一个vis数组来记录当期元素是否被使用过,然后dfs遍历整个数组,列出所有符合条件的路径就是全排列。那么如果数组中有相同元素,将其作为路径开头是不是就会出现路径重复的问题呐?这里用到了全排列和剪枝。

2023-08-13 16:54:55 285

原创 JZ37序列化二叉树

进行反序列化的时候,首先处理空树的情况,也就是说如果字符串是”#“表示这是一个空树。首先,序列化就是将二叉树的节点值放入一个字符串中,这里可以按照前序遍历的思路来进行操作,谦虚遍历是:根左右的情况,其中根据题意我们用"#"来表示空节点,用!由于我们在序列化的时候采用的是前序遍历,因此在反序列化的过程中,我们也要采用前序遍历。在前序递归函数中,如果遇到非空节点会将其添加到str中,当然也包括表示节点与节点间分割的!首先处理空树的情况,在空树时,我们返回”#“,然后调用递归函数前序递归遍历二叉树。

2023-08-13 16:54:10 231

原创 JZ36二叉搜索树与双向链表

创建两个指针,一个指向head,一个指向当前遍历的前一个节点也就是pre。先找到双向链表的头也就是树的最左边节点,初始化head和pre。处理中间根节点,然后开始连接pre和当前节点,连接后将pre更新为当前的节点,根据左根右的顺序,处理完左子树和根节点,就递归进入右子树继续进行处理。由题目可知,这里的二叉搜索树转成双向链表的符合左根右的逻辑顺序,且是一个递增序列。在递归的过程中,递归的出口就是节点为空。

2023-08-13 16:52:17 198

原创 J35复杂链表的复制

如果我们将拷贝后的节点插入到原始链表相应节点的后面,这时连接随机节点时,原始链表随机指针的后一个元素就是原始链表的随机节点,该节点的后一个节点就是拷贝出的新节点。我们在创建节点的时候,可能当前节点创建了,但是当前节点的随机指针指向的节点还没创建,这种情况下,我们只能连接next指向的节点,而不能连接随机节点。这里我们采用双指针的方法。

2023-08-13 16:51:38 145

原创 JZ34二叉树中和为某一值的路径

从根节点开始向左右子树进行递归操作,在递归操作中要处理的是当前路径更新,目标值更新,最后如果当前结点是叶子结点就要判断这条路径是否符合题目要求,如果符合就加到结果里面。这里求的是和为某一值的路径,要用dfs算法,也就是说这里使用深度优先搜索算法。

2023-08-13 16:50:53 108

原创 JZ33二叉搜索树的后序遍历序列

我们使用一个栈来存储当前的输入数组,也就是说,栈中先出的是根结点,如果数组元素小于栈顶元素,就表明此时它是左子树的根,大于栈顶元素就是右子树的根。通读题目后,我们可以得出,二叉搜索树是左子节点小于根节点,右子节点大于根节点。符合要求就是true,否则就是false。栈的特点是:先进后出。

2023-08-13 16:49:58 174

原创 JZ32 从上往下打印二叉树(Java)

首先,队列是尾部插入,头部删除的一种数据结构。在遍历树的过程中使用层序遍历的话,是从根开始由左向右进行遍历的,那么我们在遍历树的时候将当前根的结点存入到队列中去,遍历到结点时将其从队列中删除,这样一来,队列poll方法获取的队列的头就是按从上到下顺序的。也就是我们要的结果。不分行从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入{8,6,10,#,#,2,1},如以下图中的示例二叉树,则依次打印8,6,10,2,1(空节点不打印,跳过),请你将打印的结果存放到一个数组里面,返回。

2023-08-12 22:37:11 276

原创 秋招备战笔试Day3

数组中出现次数超过一半的数字,字符串中找出连续最长的数字串

2023-08-10 17:27:30 283

原创 秋招备战笔试Day2

也就是说static定义的变量一定是静态成员变量。

2023-07-31 18:14:36 292

原创 秋招备战笔试Day1

/...//...//...首先这是一个叫Base的类,有不带参数的构造方法,带一个参数的构造方法,这里构成了重载。有一个fun方法,还有一个Child继承了Base类。选项中所有的方法全是fun的方法,也就是说这里要与父类的fun方法构成一个重写的关系,重写的特点是:1、必须是在继承里,2、方法名、返回值类型、参数个数和参数类型 都必须相同3、派生类重写的方法的访问权限不能低于基类的权限4、派生类抛出的异常应该和基类相等或比基类更小。

2023-07-29 19:46:57 267

原创 非线程安全问题

也就是说,在这三个步骤中,如果有多个线程同时访问,那么很大概率会出现“非线程安全”问题。如果一个线程要执行run方法,首先要判断run方法是否上锁,如果上锁,说明有其他线程在调用run方法,这个线程就要进行等待,等待其他线程将run方法调用结束后,才能继续调用run方法。当一个线程想要执行同步方法里面的代码,它会首先尝试去拿到这把锁,如果能拿到,那么该线程就会执行同步方法中的代码。也就是说,一共创建了3个线程,每个线程有自己的count变量,在执行过程中自己减少自己的count变量的值。

2023-07-13 22:42:28 558 1

空空如也

空空如也

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

TA关注的人

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