- 博客(32)
- 收藏
- 关注
原创 Linux操作系统的相关操作介绍
下载FinalShell用于远程连接虚拟机(遵守SSH协议)目录结构:不像windows操作系统那样 有盘存储 目录区别注意: 权限 r:读 w:写 x:可执行 1、vi/vim
2025-08-03 19:36:35
264
原创 VUE工程化
示例运行:把这个示例创建在views目录下,然后再App.vue中引入ApiDemo示例,注意第八行,标签名要和你之前床的文件名相同,最后点击保存,运行。
2025-08-03 10:42:52
232
原创 Maven高级
父工程中设置依赖标签:<dependencyManagement> 标明版本号 子工程中仍需要引入依赖,只是不需要标明版本号。实现:在父工程中添加标签<modules>打包方式共三种:jar war pom。作用:解决内部资源共享和资源同步问题。
2025-07-30 12:31:01
168
原创 日志配置Slf4j
日志是系统、应用或服务运行时记录关键信息的工具,主要用于跟踪、分析和解决问题。以下是日志的主要作用:故障排查与调试,日志记录系统运行过程中的错误、异常和警告信息,帮助开发者和运维人员快速定位问题根源。例如,程序崩溃时可通过日志分析堆栈跟踪。引入的springboot-stater-web依赖会默认自带logging依赖,所以不需要再额外引入日志的相关依赖。日志级别用于标识日志信息的重要性和紧急程度,帮助开发者过滤和定位问题。2、创建测试文件,查看日志是否能正常应用。3、最后控制台正常显示日志即为成功。
2025-07-26 17:19:47
254
原创 全局异常处理
方法是 从controller层开始一层一层向下调用方法,而出现异常是从底层往上传递的,这时候需要一个全局处理器来处理异常,避免程序最后因为异常没有处理导致不能运行。全局处理器(Global Handler)是一种用于捕获和处理应用程序中未捕获异常的机制。各个异常可以细化写出 先获取错误信息,再把错误信息分隔开,找到出错地点,并返回错误原因,如下图注解中 各个异常处理方法示例。在开发环境中,全局处理器可以输出详细的错误堆栈信息,帮助快速定位问题。块处理的异常,包括运行时错误、异步操作中的异常等。
2025-07-25 23:15:00
167
原创 事务管理介绍
事务(Transaction)是数据库操作的一个逻辑单元,包含一系列操作,这些操作要么全部执行成功,要么全部不执行。事务的目的是确保数据库从一个一致状态转移到另一个一致状态。
2025-06-21 11:03:30
211
原创 多表关系 多表查询
如果不加where约束条件会出现笛卡尔积现象,需要用where限制他的查询 让两个表中关联信息相等即可。使用示例: outer可省略,左连接,把表放在left左边 ,右连接,把表放在right放在右边。内连接使用: inner可以省略,通常用显示内连接(jion ...on...)2、一对一:要添加约束 unique 和外键foreign key。注意:起了别名之后,语句中涉及到表的都要用别名代替,不可以用原名。如果表名太长,可以用as给表起别名 as可省略。实现:要用外键约束 foreign key。
2025-06-16 16:20:33
127
原创 Controller接收参数方法
方式二注意: 要注意require参数,如果不传递要把require设置成false,才不会报错即 @RequestParam后的参数“id”和Integer后的参数id名字相同,就可以省略掉@RequestParam。
2025-06-15 17:07:11
101
原创 springboot配置文件
gender: 男 #不用加双引号的字符串符号。name: zhangsan #一定要加空格。- java #一定要加-和空格。#定义数组/List/Set集合。#定义对象/Map集合。
2025-06-14 20:42:21
204
原创 MySQL使用(数据库相关)
第三个示例:第二页查询 从5开始是因为 第一页有五条数据,第二页的第一条数据是6,由于索引从零开始,所以要写5当作索引开始查询。where之后不可以写聚合函数,如果进行条件过滤要先写having在这个之后写聚合函数才可以。如果设置多个排序规则,只有当第一个值相同时,才会按照第二个的要求再次排序。注:语句后要加分号 下面的database可以替换成schema。like:两个通配符 _:单个字符 %:任意个字符。最终这个数据库会存储在data文件夹中。-P:端口号(默认3306):不参与null值计算。
2025-06-14 10:52:09
679
原创 TCP传输信息
监听客户下线:在服务端的run()方法中,try-catch的catch内写上输出语句:(一个用户下线了:获取该用户的ip语句)实现多发多收:在服务端设置多线程,要有try-catch,把服务端的核心代码写进run()方法中,并且用循环包裹。监听客户端上线:在服务端的accpet()方法调用后 输出:(一个客户上线了:后面加上获取用户Ip语句)TCP:客户端对象用Socket 服务端用ServerSocket。注意:服务端创建完服务器,需要调用accept()方法。上面代码是实现一发一收。
2025-06-06 16:20:41
200
原创 IP地址、端口号、协议
公网ip:可以连接到互联网的ip地址,一般用在项目开发(类似于阿里云开发时分配到的Ip地址)内网ip:局域网,一般是192.168.0.0~192.168.255.255。
2025-06-05 20:21:13
149
原创 线程应用(抢红包游戏)
1、按要求创建200个红包,利用随机数设置红包大小,用List集合封装。2、创建100个员工,设计线程模拟员工抢红包过程。
2025-06-05 16:45:08
174
原创 线程安全问题(线程同步)
线程安全指在多线程环境下,某个代码、对象或系统在并发访问时能够正确、一致地处理共享数据,避免出现数据竞争、死锁或其他不确定行为。线程安全的实现通常需要同步机制或设计模式来保证操作的原子性、可见性和有序性。:1、必须多线程同时进行 2、必须涉及到修改操作 3、必须共享同一资源一次只允许一个线程加锁,并且只有加锁的线程可以进入访问,访问后自动解锁,其他线程才可以进入访问把共享资源的核心代码块上锁设置同步锁(要写一个参数 所有线程共同拥有的 可随意设置 是一个唯一对象,不可以新建对象){核心代码}
2025-06-04 16:58:40
236
原创 多线程介绍
前两种方式缺点:如果子线程需要返回一些数据,他们重写的run方法均不能返回,需要第三种方法实现。输出:注意主线程和t1线程时同时间进行,谁先输出不一定。(匿名内部类):3种。
2025-06-04 16:13:32
200
原创 conmons-io框架
导入步骤:(lib指库)成功导入:对应方法:使用时用FileUtils.copyFile(new File(path1),new File(path2))
2025-05-26 19:52:18
150
原创 字符集介绍
汉字内码扩展规范,国标。一个字符存两个字节,第一个字节必须以1开头(用于和ASCII分开),GBK兼容了ASCII字符集。:是Unicode的一套编码方案,采取可变长编码方案,1、2、3、4个字节都可(汉字三个字节,字符和数字都是一个字节)。:美国,一个字符存一个字节,且以0开头,共128个字符。:字符编码和解码要用一个字符集,防止乱码。:万国码,统一的,便于各国使用。
2025-05-22 20:14:43
122
原创 方法递归(recursion)
方法调用自身的形式称为递归(自己调用自己)直接递归:方法自己调用自己。(如果控制不好,可能会出现死循环,导致栈溢出问题)间接递归:方法先调用其他方法,其他方法再调用原方法。eg:计算n的阶乘逻辑:方法都存放在栈中,先调用main方法,然后计算f(5),进入栈中,又需要知道f(4),f(4)进入栈中,最后到f(1)进入栈中,f(1)=1,一个一个出栈,到最后会计算出f(5)的值。
2025-05-22 19:41:46
282
原创 文件 File(存储)-IO流(读写)数据
平常用的数组、对象、集合这些是存储在内存中的,一旦程序终止或断电,数据就会消失,所以有一些想要长久保存的数据就在存储在文件中,中的,不会因为上述原因丢失。(文件/文件夹)只能对文件本身进行操作,不能对里面的数据进行读写操作。用于读写文件中的数据。
2025-05-22 16:17:55
252
原创 Collections工具类
在所有的形参中,只能有一个可变参数,若还有其他参数,可变参数要写在最后(String name,int...age)可变参数:写在类或方法后面的参数中 可以接收很多数据,不限制个数,也可以传数组 形式: 数据类型...形参(int...age)
2025-05-20 16:51:54
171
原创 Stream流介绍
Stream流是Java 8引入的一个新特性,用于处理集合数据。它提供了一种高效且易于使用的方式来对集合进行各种操作,如过滤、映射、排序等。Stream流的核心思想是将数据操作抽象为一系列流水线式的操作,这些操作可以是中间操作(如filtermap)或终端操作(如collectforEach。
2025-05-20 16:32:12
165
原创 List集合
速度:索引查询慢(都要从头开始,一个一个查),增删相对快(数组会涉及到扩容,链表不需要,只用添加一个数据到内存中,把下一个数据的地址和这个的数据内容写好,让上一个地址指向这个数据的地址即可),如下图(单链表为例)。2、设计栈stack(先进后出,后进先出) addFirst可用push替换(压/入栈) removeFirst可用pop替换(出栈)1、用来设计队列queue(先进先出,后进后出),只对首尾节点进行操作。速度:根据索引查询快,但是增删慢(数组可能涉及扩容)LinkedList是基于。
2025-05-16 16:02:59
580
原创 泛型介绍(generic)
作用:java是强类型语言,泛型在编译阶段约束数据类型,可避免在编程过程中数据类型进行强制转换出现的异常。上图中的dog会报错,因为设置上限为car,dog不是car的子类,所以就加不进去。泛型类:eg. public class MyArrayList<E e>{}步骤:先创建学生/教师类,学生数据教师数据类,定义一个泛型接口。eg:创建一个项目 是能够对学生/老师数据进行增删改查功能。主方法:只是对学生数据的操作,教师同方法。学生数据类定义:进行方法的重写。教师数据类定义:同学生数据。
2025-05-15 16:52:30
180
原创 javaweb的三层架构、分层解耦
需要如图按照三层架构建立三个对应包,并在dao 和service两个包下建立一个接口和一个实现类,实现类用于接收数据。Dao层可能链接文件、数据库、网络资源,所以会给Dao层添加接口,面向接口编程,Service也可以添加接口。三层:Controller、Service、Dao。
2025-05-14 11:42:51
203
1
空空如也
关于#java#的问题:还是怎么了 能不能把我之前的文章给我恢复成私密发布
2025-06-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人