自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (3)
  • 收藏
  • 关注

原创 判断线程/任务是否全部执行完成

判断线程/任务是否全部执行完成,这里所有的都没有指定线程池,所有他这里是使用的。最好不要使用内置的这个线程池,可以自定义一个,然后在创建的时候进行指定。我感觉方案3好用一些。但是如果不放心使用异步任务的话,直接使用方案1即可。都可以实现功能。

2024-01-22 16:37:21 966 1

原创 logback排除指定包类方法的日志

【代码】logback排除指定包类方法的日志。

2024-01-21 22:37:27 871

原创 SpringBoot 自定义Banner

SpringBoot 自定义Banner,内置变量spring-boot.version:SpringBoot的版本号spring-boot.formatted-version:带v的版本号[外链图片转存中…(img-kzLyUrAu-1705820973870)]直接在类路径下创建banner.txt来替换SpringBoot默认的输出最为方便,想要美化的话,可以通过一些工具来进行生成。

2024-01-21 15:09:56 1021

原创 Tomcat配置项目直接通过http://ip:port访问

Tomcat配置项目直接通过http://ip:port访问,解决项目重复加载两次的问题

2024-01-20 20:50:43 674

原创 Oracle行转列函数,列转行函数

Oracle 可以通过PIVOT,UNPIVOT,分解一行里面的值为多个列,及来合并多个列为一行。行传列函数,及列转行函数

2024-01-18 18:18:18 1818

原创 非maven项目快速转换为maven项目

`maven-compiler-plugin`:解决在编译过程中识别不到第三方依赖的问题 `maven-war-plugin`:解决在部署后可以让第三方包被tomcat识别 使用这两个插件让我们可以无需一个一个的添加`denpendency`,之后的有再补充的`jar`包,可以通过`denpendency`交给`maven`来管理。

2024-01-15 14:02:26 819

原创 SpringBoot默认日志输出格式

【代码】logback.xml SpringBoot的日志输出格式。

2024-01-15 00:06:57 578

原创 pom.xml中resouces标签

resources是maven在编译项目时将资源文件或者额外的文件赋值到输出目录中。通常包括配置文件,属性文件,模板文件,jar包等。resouces中可以包含resouce。也就是可以自定义的配置多个资源配置。

2024-01-14 21:18:34 828

原创 解决Unexpected record signature 0X9&&maven 资源过滤

我们有个需求是根据`excel`模版导出一个`excel`表。我们的项目是SpringBoot,所以理所当然的把这个模版文件放到了,`resources`文件夹中。但是在导出文件的时候却遇到了`invalid code lengths set`及`Unexpected record signature: 0X9`的错误。maven 资源过滤

2024-01-13 23:36:03 1416

原创 maven配置多个远程仓库

单个库的话就使用mirrors即可,配置方便,多个库正常情况下只有一个库生效。多个库的话就使用profiles即可,配置多个profile,多个profile的加载顺序是从下往上,依次加载。并且需要配置激活对应的仓库配置。

2024-01-02 23:04:14 1053

原创 解决idea 通过build project 手动触发热部署失败

运行项目的过程中,并且保证(不添加方法,不修改方法名)一定的规则的情况下,可以通过。这里修改了方法名后,他就会提示热部署交换文件失败了,需要手动重启项目。在只修改业务逻辑的情况下,能正常交换成功。来手动热部署项目,也就是会交换。

2023-12-07 22:15:47 640

原创 Spring三级缓存处理循环依赖的过程

当Spring遇到循坏依赖时,它通过使用三级缓存以及提前暴露不完整的对象来解决问题。举例:在A实例化完成后,Spring会将他放入到三级缓存中。A此时并没有进行初始化,当A进行属性赋值的时候,如果扫描到A对象依赖B对象的话,则又会去实例化B对象,然后再把B对象放入到三级缓存中,当B进行属性赋值的时候,发现需要依赖A对象,那么这个时候就出现了循环依赖的问题了。然后从三级缓存中取出A对象,这里的A对象被包装成了一个的一个lambda。

2023-12-01 00:01:37 1080

原创 Java使用Redis来实现分布式锁

在单节点服务中,我们可以使用来保证同一时间内只允许一个线程执行限定的代码块。但是如果我们是多节点服务呢,因为是针对服务内部的,其他服务是无法受到他的干预的。那么如何保证多个节点在同一时间内只允许一个节点中的一个线程去访问这个代码块呢?使用分布式锁!!!本文使用Redisson来操作Redis并实现分布式锁。

2023-11-21 18:09:52 505

原创 Spring bean标签

application(web扩展的):不同的web Application会创建,不同bean,webApplication关闭后销毁bean。constructor-arg:用于构造函数注入,或者是factory-bean有参数的时候等。session(web扩展的):不同的session会创建不同bean,session结束后销毁bean。request(web扩展的):每一个请求都会去创建不同bean,请求结束后销毁bean。可以重写bean中的一个方法,把方法的返回值替换成。

2023-11-13 22:04:09 348

原创 MySQL EXPLAIN查看执行计划

MySQL 执⾏计划是 MySQL 查询优化器分析 SQL 查询时⽣成的⼀份详细计划,包括表如何连 接、是否⾛索引、表扫描⾏数等。通过这份执⾏计划,我们可以分析这条 SQL 查询中存在的 问题(如是否出现全表扫描),从⽽进⾏针对优化。我们可以通过EXPLAIN来查询我们SQL的执行计划。

2023-11-05 23:26:49 369

原创 MySQL WITH AS及递归查询

WITH是 SQL 中的一个关键字,用于创建临时表达式(也称为 Common Table Expression,CTE),它允许你在一个查询中临时定义一个表达式,然后在后续的查询中引用它。理解:当我们使用WITH AS他会帮我们创建一个临时的表,。当我们使用这个临时表二次以上时,他的效率是会比我们原本写两个一模一样的子查询是要搞的。

2023-10-29 23:59:44 471

原创 在行首,行尾添加文本,替换文本中的空格、制表符等

在行首,行尾添加文本,替换文本中的空格、制表符等,列模式

2023-10-25 00:09:12 276

原创 Oracle 去掉字符串中的空格、制表符、换行符、回车符等

Oracle 去掉字符串中的空格、制表符、换行符、回车符等

2023-10-11 11:43:21 2678

原创 MySQL索引

索引可以理解为是一种有序的数据结构,它允许数据库系统快速的找到表中的特定行。类似与字典或者书籍的目录,可以快速的定位到需要的信息。

2023-10-10 14:28:20 70

原创 MySQL与Oracle的分页

当我们通过SQL去查询一个结果集的时候,并不需要查看所有行,可能只是查看前几行,或者中间的几行。则需要像MySQL的limit或Oracle的ROWNUM与FETCH NEXT来实现。

2023-09-16 19:30:25 524

原创 MySQL 创建用户并分配数据库权限

【代码】MySQL 创建用户并分配数据库权限。

2023-09-14 23:50:52 239

原创 MySQL锁,解决锁表的问题

有一个`truncate table` 在执行,导致锁表了。并且一直没有完成,从而导致线上服务查询基本信息的时候出现大量卡住的问题,导致服务不可用。记录下问题及解决方案,及其他知识点

2023-09-14 00:57:53 128

原创 Spring Aop

在Bean对象上标注@Aspect使得成为切面。@Aspect@Component在切面类中定义一个void方法,并使用@Pointcut注解来指示切入点表达式execution(常用):用于匹配方法执行连接点。这是使用 Spring AOP 时使用的主要切入点指示符。第一部分代表修饰符。第二部分为包+类+方法名这三个都可以为,也可以为User*这样通配的形式第三部分为参数列表()表示没有参数(..)表示可以有任意参数(零个或多个)(*)只能有一个参数(+)表示至少有一个参数。

2023-09-11 18:11:42 86

原创 Linux 配置Java 环境变量

Linux 配置Java环境变量出现 安装Java目录即成功。1.修改 profile。

2023-08-30 22:24:05 690

原创 Stream.Collectors groupingBy 与 partitioningBy

概述:当我们遇到一个集合,需要根据某个字段进行`分组`或者根据某种条件进行`分区`的时候,我们可以使用到`groupingBy`与`partitioningBy`。根据name的首字母进行分组。// 自定义分组### 输出只要我们提供的key一致则会被分配到同一个组中。

2023-08-27 23:48:02 241

原创 Java 异步计算

而我们的Fork-Join-Pool可能会为一些短暂的任务重用相同的线程,以减少线程的创建和销毁开销。当我们的CompletableFuture提供了返回值的时候,我们可以通过get或者join方法来阻塞的得到这个结果。下都会是在一个新的线程下去帮我们执行这个回调,而普通的则是在原有由原有执行任务的线程去执行这个回调。一个可完成的Future,在我们调用他的get方法的时候,他会阻塞等待这个任务完成来获取他的结果。的方法与普通的handle相比,他是执行的线程发送了变化。异步执行一个任务并返回结果。

2023-08-20 16:59:02 150

原创 Java 纠正上传图片自动旋转与镜像的问题

遇到一个图片看着是方向是正的,但是用特定的工具打开后自动旋转与镜像。。为什么我们在一些软件上,或者浏览器中看到是正的,是因为这些软件,浏览器自动的纠正了这个图片。然而我们的Java并没有自动的为我们去纠正这个图片当我们使用去绘制图片的时候发现高与居然是相反的。

2023-08-15 13:37:17 868 3

原创 Java 延时队列,简单使用方式

首先我们要知道延时队列是什么?可以用来干什么?是什么?看名称。

2023-08-09 18:11:23 271

原创 MySQL分组后取最新的一条数据

MySQL分组后取最新的一条数据 含窗口函数

2023-05-15 00:34:14 4583 1

原创 MySQL EXISTS函数

EXISTS用于检查子查询是否至少返回一行数据。返回值是布尔类型的数据。

2023-05-14 23:14:40 874

原创 判断两个时间段是否有交集

总结:思路不太清楚可以画个图就明了了。查询出目标库中有交集的数据就说明有占用,如果没有则没有占用。前言:项目中遇到了类似会议室预约的时间段被占用,预约车辆时间段被占用等。预约的时间,与目标数据库中任意一条的存在交集,则可以视为占用。必备条件:start

2023-05-10 00:19:25 1029

原创 synchronized static

结论:不同的对象在不同的线程中执行同一个synchronized方法时,不需要等待其他对象锁的释放因为synchronized目前锁的是this不同的对象相互不影响。结论:不同的对象在不同的线程中执行同一个静态方法时,会触发类锁从而导致需要等待test.syn1方法结束后才会执行test1.syn1方法。结论:同一对象在不同的线程中执行的方法如果有一个是静态方法的锁(类锁)跟普通方法的锁(实例锁)是互不干扰的。示例3:不同对象在不同线程中执行同一个的synchronized 静态(static)方法。

2023-04-20 00:28:59 86

原创 车牌号正则表达式(包括新能源汽车)

【代码】车牌号正则表达式(包括新能源汽车)

2023-04-04 20:58:17 1681

原创 List转换为树形结构工具类

【代码】List转换为树形结构工具类。

2023-03-22 01:11:49 313

原创 MySQL-带条件计数COUNT

MySQL-带条件计数COUNT

2023-02-28 17:47:43 2606 1

原创 MySQL执行-SQL执行顺序

MySQL执行-SQL执行顺序

2023-02-23 23:56:01 94

原创 MySQL-窗口函数

窗口函数的详细使用。分区、排序、范围的语法

2023-02-11 21:17:44 890

原创 MySQL字符串函数

mysql 常用字符串函数

2023-02-03 11:14:04 298

原创 MySQL 流程控制函数-IF函数、IFNULL函数、NULLIF函数

MySQL 流程控制函数-IF函数、IFNULL函数、NULLIF函数

2023-01-09 14:00:10 127

原创 MySQL CAST函数

CAST 用法详解

2023-01-06 17:49:57 987

GoogleChromePortable64_86.0.4240.183_online.paf.exe

GoogleChromePortable64_86.0.4240.183_online.paf.exe

2021-07-21

intellij-rainbow-brackets-5.35.zip

idea 彩色括号 plusins

2021-07-21

CodeGlance-1.5.4.zip

idea 缩略图 plugins

2021-07-21

空空如也

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

TA关注的人

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