自定义博客皮肤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)
  • 收藏
  • 关注

原创 图书馆管理系统

图书馆管理系统概述基于Spring + Spring MVC + MyBatis的图书馆管理系统,使用Maven进行包管理。主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。环境配置开发环境:Windows 10,IntelliJ IDEA 2018.3运行配置首先安装Mysql5.7,设置用户名为root,密码为123456,并保证其在运行状态,并执行library.sql文件导入数据。然后再配置Maven到环境变量中,在源代码目录下运行# mv

2023-07-06 20:01:51 342

原创 开源关系型数据库管理系统---MariaDB安装

MariaDB是一个免费的开源关系型数据库管理系统,它是MySQL的一个分支和替代品,由MySQL的原开发者之一创建和维护。与MySQL相比,MariaDB拥有更好的性能、更高的安全性、更多的功能和更开放的社区支持。MariaDB也兼容MySQL,可以完全替换MySQL而无需修改应用程序的代码。这里为root用户添加密码,密码也先输入root即可,之后字符集勾选Use UTF8…这里可以点击Browse按钮修改安装路径,但是一般默认位置即可。勾选图中的接受条款后点击next。点击Install安装。

2023-06-14 11:19:30 321

原创 Java---反射机制

反射机制是Java的动态机制,允许我们在程序运行期间获取类的信息,获取构造函数、方法、字段等信息,并对它们进行操作。反射机制大大地提高了代码的灵活度和可扩展性,但是也会带来较低的运行效率和较多的资源开销,因此反射机制不能被过度使用。

2023-06-13 19:32:07 234

原创 API----线程池

【代码】API----线程池。

2023-06-07 09:38:06 123

原创 JAVA常见异常

空指针异常,该异常出现在我们操作某个对象的属性或方法时,如果该对象是null时引发。上述代码中引用类型变量str的值为null,此时不能通过它调用字符串的方法或引用属性,否则就会引发空指针异常。解决办法:找到为什么赋值为null,确保该对象的值不能为null再操作属性或方法即可。

2023-06-06 10:27:13 77

原创 API-------Map 查找表

特点:体现的结构是一个多行两列的表格,其中左列称为key,右列称为value。Map中的key不允许重复。判定重复的标准是根据key的equals方法判定的。常用的实现类:java.util.HashMap 散列表特点:体现的结构是一个多行两列的表格,其中左列称为key,右列称为value。Map中的key不允许重复。判定重复的标准是根据key的equals方法判定的。常用的实现类:java.util.HashMap 散列表。

2023-06-05 08:51:30 374

原创 聊天室(续)----------实现服务端发送消息给客户端

由于客户端start方法中循环进行的操作顺序是先通过控制台输入一句话后将其发送给服务端,然后再读取服务端发送回来的一句话.这导致如果客户端不输入内容就无法收到服务端发送过来的其他信息(其他客户端的聊天内容).因此要将客户端中接收消息的工作移动到一个单独的线程上执行,才能保证收发消息互不打扰.为了让能叫消息转发给所有客户端,我们 在Server上添加了一个集合类型的属性allOut,并且共所有线程ClientHandler使用,这时对集合的操作要考虑并发安全问题,还要考虑对集合的不同操作之间的互斥问题。

2023-06-03 22:55:11 251

原创 多线程--------线程API

线程:单一的顺序执行流程就是一个线程,顺序执行:代码一句一句的先后执行。多线程:多个线程并发执行。线程之间的代码是快速被CPU切换执行的,造成一种感官上"同时"执行的效果。

2023-06-02 19:27:17 113

原创 使用多线程实现多客户端连接服务端——多线程概念、创建

纳秒级别,我们感觉不到切换线程运行的过程。所以微观上走走停停,宏观上感觉一起运行的现象成为并发运行!定义一个线程类,重写run方法,在其中定义线程要执行的任务(希望和其他线程并发执行的任务)。程序会再次分配一个时间片段给一个线程使得CPU执行它。由于CPU执行时间在。多个线程实际运行是走走停停的。线程调度程序会将CPU运行时间划分为若干个时间片段并。尽可能均匀的分配给每个线程,拿到时间片的线程被CPU执行这段时间。在于结构简单,便于匿名内部类形式创建。该方法可以获取运行这个方法的线程。

2023-06-02 09:45:30 917

原创 聊天室Socket、客户端与服务端完成第一次通讯(发送一行字符串)

该方法会获取一个字节输出流,通过这个输出流写出的字节数据会通过网络发送给对方。通过该方法获取的字节输入流读取的是远端计算机发送过来的数据。

2023-06-02 08:54:36 272

原创 java网络编程

协议的通讯细节,是的我们使用它可以与服务端建立网络链接,并通过 它获取两个流(一个输入一个输出),然后使用这两个流的读写操作完成与服务端的数据交互。而客户端和服务端就是对应的两个应用程序,即客户端应用程序和服务端应用程序。浏览器是一个通用的客户端,可以与不同的服务端进行交互。但是本质上B/S还是C/S结构,只不过浏览器是一个通用的客户端而已。TCP是可靠传输协议,是面向连接的协议,保证数据传输中的可靠性和完整性。UDP是不可靠传输协议,不保证数据传输的完整性。,即浏览器,而S是指。

2023-05-30 13:00:39 55

原创 java异常处理机制

自定义异常通常用来定义那些业务上的异常问题。异常的类名要做到见名知义需要是Exception的子类提供超类异常提供的所有种类构造器异常处理机制是用来处理那些可能存在的异常,但是无法通过修改逻辑完全规避的场景。而如果通过修改逻辑可以规避的异常是bug,不应当用异常处理机制在运行期间解决!应当在编码时及时修正try语句块用来包含可能出错的代码片段catch用来捕获并处理对应的异常,可以定义多个,也可以合并多个异常在一个catch中。

2023-05-30 12:55:18 69

原创 Java中的IO流

java io可以让我们用标准的读写操作来完成对不同设备的读写数据工作.java将IO按照方向划分为输入与输出,参照点是我们写的程序.输入:用来读取数据的,是从外界到程序的方向,用于获取数据.输出:用来写出数据的,是从程序到外界的方向,用于发送数据.

2023-05-30 10:07:21 159

原创 File类(续)

File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径)1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间等等2:创建和删除文件或目录3:访问一个目录中的子项:所有字节输入流的超类,其中定义了读取数据的方法.因此将来不管读取的是什么设备(连接该设备的流)都有这些读取的方法,因此我们可以用相同的方法读取不同设备中的数据常用方法:int read():读取一个字节,返回的int值低8位为读取的数据。如果返回值为整数-1则表示读取到了流的末尾。

2023-05-29 20:40:36 60

原创 Api——集合框架(下)

java中提供的类,如:String,包装类都实现了Comparable接口,但有时候这些比较规则不能满足我们的排序需求时,同样可以临时提供一种比较规则来进行排序.侵入性:当我们调用某个API功能时,其要求我们为其修改其他额外的代码,这个现象就是侵入性.侵入性越强的API越不利于程序的后期可维护性.应当尽量避免.实际开发中,我们并不会让我们自己定义的类(如果该类作为集合元素使用)去实现Comparable接口,因为这对我们的程序有**侵入性**.**,可以将一个数组转换为一个List集合。

2023-05-29 09:31:51 66

原创 Api——Collection集合框架

HashSet` 通过哈希表实现,它使用对象的哈希码来确定该对象在集合中的位置。:`HashSet` 是非线程安全的,如果需要在多个线程中使用 `HashSet`,需要通过 `synchronized` 等方式来确保线程安全。不同的集合都实现了一个用于遍历自身元素的迭代器实现类,我们无需记住它们的名字,用多态的角度把他们看做为Iterator即可.与 `List` 不同,`HashSet` 不保证元素的顺序。`HashSet` 是 Java 中的一个集合类,实现了 `Set` 接口。

2023-05-22 00:47:51 185

原创 Api ——String类、正则表达式、Object类、包装类

java在堆内存中开辟了一段空间用于缓存所有使用字面量形式创建的字符串对象,并在后期再次使用该字面量创建字符串时重用对象,避免内存中堆积大量内容一样的字符串对象来减小内存开销。截取当前字符串中指定范围内的字符串。两个参数分别为开始位置的下标和结束位置的下标。•字符串一旦创建,对象永远无法改变,但字符串引用可以重新赋值;检索给定字符串在当前字符串中的位置,若当前字符串。判断当前字符串是否是以给定的字符串开始或结束的。返回当前字符串的长度(字符个数)返回当前字符串中指定位置上的字符。一个字符对应两个字节。

2023-05-19 16:12:40 88

原创 Api文档注释

【代码】Api文档注释。

2023-05-19 13:39:54 124

原创 访问控制修饰符、静态、常量、枚举

实例变量:没有static修饰,属于对象的,存储在堆中,有几个对象就有几份,通过引用/对象打点来访问。- 默认的:什么也不写,本类、同包类--------------------------java不建议。1. 访问控制修饰符:--------------保护数据的安全(隐藏数据、暴露行为),实现封装。1. 访问控制修饰符:--------------保护数据的安全(隐藏数据、暴露行为),实现封装。--------------------------java不建议。

2023-05-19 09:37:46 119

原创 java—多态、成员内部类、匿名内部类

类的全称---------------------------------------太繁琐、不建议。- 类的全称---------------------------------------太繁琐、不建议。- 能点出来什么,看引用的类型--------------这是规定,记住它。- 能点出来什么,看引用的类型--------------这是规定,记住它。> 何时需要强转:若想访问的属性/行为在超类中没有,则需要强制类型转换。- 先import导入类,再访问类--------------建议。

2023-05-19 08:54:06 106

原创 java 抽象方法、接口、引用类型数组

也声明为抽象类----------------------------一般不这么用。- 接口对继承单根性的扩展------------------------实现多继承。- 类和类-------------------------------继承。- 封装共有的属性和行为------------------代码复用。- 一个类可以实现多个接口,用逗号分隔。- 类和接口----------------------------实现。- 接口和接口-------------------------继承。

2023-05-17 15:19:16 83

原创 java继承的用法

super()----------------------------------------调用超类的构造方法。- super.方法名()------------------------------调用超类的方法。- super.成员变量名-------------------------访问超类的成员变量。- 重写方法被调用时,看对象的类型---------------new谁就调谁的,这是规定。4. final:最终的、不能改变的------------单独应用几率低。

2023-05-17 09:08:29 377

原创 面向对象——类、成员变量、构造方法

this()-----------------------------------调用构造方法(一般不用)- this.方法名()-------------------------调用方法(一般不用)OOP:面向对象编程---------------------------你们所参与的部分。- 对象的属性/特征/数据----------------------成员变量。引用类型---------------------------------null。

2023-05-17 01:46:07 340

原创 5种案例:------培养编程思维能力

案例:------培养编程思维能力训练目标: while(true)自造死循环+break。

2023-05-17 01:39:33 253

原创 数组(下)与方法

/1)结束方法的执行------------------------------------------用在无返 回值的方法中。//1)结束方法的执行 2)返回结果给调用方------------用在有返回值的方法中。- 何时用:只要是一个独立的业务功能,就得封装到一个方法中。- 有返回值:数据类型 变量 = 方法名(有参传参);- 建议:尽可能独立,一个方法只干一件事。实参:实际参数,调用方法时的参数为实参。- 无返回值:方法名(有参传参);2. 方法的签名:方法名+参数列表。

2023-05-17 01:30:29 25

原创 循环语句(下)与数组(上)

数组下标一定在0到(数组长度-1)之间,若超出范围,在运行时会发生数组下标越界异常。- 通过下标/索引来访问元素,下标从0开始,最大到(数组的长度-1)- 通过下标/索引来访问元素,下标从0开始,最大到(数组的长度-1)- 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层。- 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层。- 循环中套循环,常常多行多列时使用,外层控制行,内层控制列。- 循环中套循环,常常多行多列时使用,外层控制行,内层控制列。

2023-05-14 15:43:02 46

原创 循环语句的运用

若相同--------------------------------直接上do...while。- 若相同--------------------------------直接上do...while。- 若有关--------------------------------------直接上for。- 若有关--------------------------------------直接上for。- 若不同--------------------------------直接上while。

2023-05-14 15:08:07 120

原创 语言基础——运算符和部分分支结构

整个条件运算是有值的,它的值要么是?号后的数1,要么是:号后的数2。- a++的值为a------------(a--的值为a)- ++a的值为a+1--------(--a的值为a-1)- 第1个条件为false时,则发生短路(后面的不执行了)- 第1个条件为true时,则发生短路(后面的不执行了)- 若为false,则整个表达式的值为:号后的数2。- 扩展赋值运算符:+=,-=,*=,/=,%=- ++/--:自增1/自减1,可在变量前也可在变量后。- 赋值:=、+=、-=、*=、/=、%=

2023-05-14 14:50:16 45

原创 Java中变量命名规则和八种数据类型

帕斯卡命名法/大驼峰命名法:所有单词首字母大写--------------------------类。- 小驼峰命名法:第1个单词首字母小写,其余单词首字母大写------------变量/方法。float:4个字节,32位,单精度,能精确到6~7位,声明一个小数类型,要加F或者f,建议加F。double:8个字节,64位,双精度,能精确到15~16位,小数类型默认是double类型。long:8个字节,64位,long类型表示long类型常量,要加L或者l,建议加L。

2023-05-11 08:56:17 838

原创 Java原理

文档注释:/** */----------------具有特殊意义(后期讲)- 多行注释:/* */-----------------明天用。- 注释:解释性文本(计算机不执行)

2023-05-11 08:19:16 31

原创 安装idea

■找到File->Settings->Version Control->Git->点击Test,保证下面能显示git版本即可。下载和安装JDK(油)和ldea(汽车):-------------已经装好了的同学不需要重装了。■JDK:一路下一步,安装路径中绝对不能包含中文-------装好后不要企图去运行它。■打开浏览器,在地址栏中输入doc.canglaoshi.org,回车。■找到常用下载,找到Git,找到你对应操作的git,点击官网下载即可。■ldea:一路下一步。

2023-05-10 12:52:04 48

原创 java如何取最大值

【代码】java如何取最大值。

2023-04-24 10:33:04 2923

原创 html day02

用于收集信息提交到服务器或者指定的程序去处理 --- 例如 注册。例如 修改文本框的样式中的宽度。样式的属性值以键值对的形式出现的,多个键值对之间分号分隔。表单控件 例如 文本框、密码框、单选按钮...用于展示数据 --- 例如 修改。action属性: 提交的地址。样式 : style的属性。

2023-04-15 16:16:51 27

原创 HTML 学习- day01

b 、 u 、 i 、 p 标题元素 head 、 body、 html、 title、 vedio、 del。p 标题元素 hr 设置水平方向的对齐方式。版本声明 heml5 <!doctype html>双标记 <关键词> </关键词>--注释内容--> 快捷键 Ctrl+/借助 浏览器 (后面:浏览器兼容问题 )行内元素:不会自动换行。hr p 标题元素。属性之间不区分先后顺序、多个属性之间用空格分隔。标记、标签、元素、Tag。2、根据元素是否会自动换行。

2023-04-12 23:58:25 37

原创 Day04——小球四处碰撞运动

注意:小球向一个方向碰撞 结果有两个 注意处理边界越界问题。

2023-04-12 21:02:35 113 1

原创 初学Java-Day03

while当...(true/false)执行花括号 { } 里的内容while(){ }Thread线程——线程的休眠时间 Thread.sleep();语法:repaint方法 ——重画并擦除 repaint();先复习上一次的继承extents, 练习一组代码。

2023-04-09 15:00:19 100 1

原创 初学Java Day/02

8、绘制椭圆(空心)--drawOval。9、绘制椭圆(实心)--fillOval。7、绘制字符串--drawString。计算机语言--Frame(创建窗体)* 先导包(借类.引入.导入类)* package以下,类名以上。5、绘制矩形--drawRect。6、绘制直线--drawLine。* import 包名.类名;3、绘图--paint。4、面板--JPanel。

2023-04-06 19:36:47 89 1

原创 初学JAVA

转行学习第一天,光在哪里,路在哪里

2023-04-03 19:20:35 104 2

空空如也

空空如也

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

TA关注的人

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