自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杂货铺的小掌柜

求大佬带我

  • 博客(177)
  • 收藏
  • 关注

原创 @EnableAsync+@Async源码学习笔记之六

这里边对返回值进行了判断,根据返回值的不同,走不同的分支,不管哪个分支,最终都是把任务交给了线程池。接着,如果没找到线程池的话,使用默认的线程池,代码如下,这里用到的是双重加锁检查。如果没找到线程池,就返回 null;如果找到了,判断类型是不是。方法,作用是获取线程池的名字,这是个抽象方法,子类。看到了吧,默认的用于执行一步任务的线程池的名字就是。有兴趣可以自己研究下。,是的话就直接返回,不是的话就用。再看下默认的线程池的名字。接上文,我们本文分析。

2025-04-19 14:36:15 474

原创 @EnableAsync+@Async源码学习笔记之五

我们需要关注其中的2个:一个是有2个参数的构造方法,上文中我们追踪过程中,调的就是它,所以我们顺着追。这个构造方法唯一做的事情就是调用了父类的构造方法,所以重点就转移到父类。这个东西可以自己看下,其实并不是真正的线程池。注解,找不到的话,从类上找,找到的话,返回。的构造方法,这个父类也很重要,下一篇分析。方法,这个方法所做的入参是你写的标记有。属性的值,也就是你指定的线程池的名字。逐步分析下这个方法,首先,从方法上找。接口自定义的,都是在这里生效的。这个方法,获取默认的线程池。属性的值就是线程池的名字。

2025-04-19 14:35:58 221

原创 @EnableAsync+@Async源码学习笔记之四

到这里有人可能会疑惑,我从构造方法一路追过来,入参中的 asyncAnnotationTypes 里边就俩值。的方法,也就是你写的异步方法,当然,不仅仅是这2个注解,还有你自定义的注解。如果入参给了异常处理器,就将入参的异常处理器赋值给成员变量,否则就用默认的。方法中被调用了一次,就是在那一次中,传入了你自定义的注解。哪里还有我自定义的注解,不要着急,这个。这个构造方法,第一步,用一个。来存储 spring 的。第三行解析了你自定义的注解。下面这几行代码,就解析了。以及你自定义的异步注解。

2025-04-19 14:35:42 194

原创 @EnableAsync+@Async源码学习笔记之三

这三个方法,看过前面文章的都知道是干嘛的了。,看这名字就知道转入AOP相关的知识了。这个方法,它里边的核心就是创建了一个。这个类了,下一篇文章我们来分析它。接上一篇,本文我们进入。

2025-04-19 14:35:21 195

原创 @EnableAsync+@Async源码学习笔记之二

这是一个配置类(被@Configuration标注了),里边就做了一个事儿:定义了一个类型为。从这个名字中的 internal 可以联想到,是不是可以自己定义一个。从本文开始,就正式进入源码追踪阶段了,上一篇的最后我们提到了。反正我是没试过,有兴趣可以试试。注解,解析完了存到成员变量里边供后面使用。方法,这个主要就是通过解析你自定义的。具体用啥,当然是用它的各种属性,比如。还有一点:定义的这个bean的名字是。而到底是导入哪一个,判断依据是。的源码之前,先看下它的父类。,这也是默认值,至于。

2025-04-19 14:34:56 318

原创 @EnableAsync+@Async源码学习笔记之一

而 SimpleAsyncTaskExecutor 其实不是真正意义的线程池,使用这个的话并不能实现线程复用,说白了,尽量别用它。看到了吧,就2个方法,一个返回线程池,另一个返回异常处理器,你可以通过实现这个接口并重写其中的这2个方法来进行自定义。可以看到,自定义的线程池的核心线程数是7,最大线程数是42,队列容量是11,线程名称前缀是。如果你就是不想用这2个注解,想自定义一个注解,那你就可以用这个属性来指定你自定义的注解。默认情况下,spring 会寻找一个关联的线程池,这个线程池要么是应用上下文中。

2025-04-19 14:34:34 427

原创 spring注解汇总

不含 spring boot。

2025-02-27 16:44:40 292

原创 用于校验的注解的message属性值怎么引用value属性值

就是怎么在 message 属性中引用 value 属性的值?这样完全没有问题,但是有洁癖的话,就会发现,时间格式。中都用到了,重复了!等注解对入参进行校验的时候,都碰到过一个疑问。,用来校验某个字段是否满足指定格式。比如,我自定义了一个注解。

2025-02-27 11:19:14 199

原创 InnoDB存储引擎内存结构简介

这四个部分都是需要记住并且研究透彻的,但是本文不详细展开,知道InnoDB的内存结构是由这4部分组成就行了。具体每部分的详细介绍,后续文章讲。先看一张 InnoDB 存储引擎的整体结构图,从大方向上说包含2部分:内存结构、磁盘结构。本文要介绍的是上图中左侧部分:In-Memory Structures。可以看出,内存结构是由四个部分组成的,分别是。

2025-02-21 11:19:30 194

原创 java中怎样获取文件的后缀名

另外,通过源码,不难发现,这个方法不适用于 windows 下的路径。方法,可以用于获取文件的后缀名,源码如下。中还给举了个例子,如果你传入。工具类,其中提供了一个。spring 中有一个。

2025-02-10 11:21:44 289

原创 java中怎样获取文件的MIME类型

很明显,就是你传入一个文件的路径,给你返回这个文件的 MIME 类型。目录下放了3个文件用于测试,分别是。的源码的时候,看到了一个方法,如下。这个方法可太有用了。

2025-01-16 17:36:11 352

原创 spring mvc源码学习笔记之十一

src/main/webapp/WEB-INF/web.xml 内容如下src/main/webapp/WEB-INF/app-servlet.xml 内容如下src/main/webapp/WEB-INF/templates/t01.html 内容如下src/main/webapp/WEB-INF/templates/t02.html 内容如下com.qs.demo.A_ControllerAdvice 内容如下com.qs.demo.controller.Firs

2025-01-13 19:41:52 928

原创 spring mvc源码学习笔记之十

这里只是说了个大概,要想非常清楚,还请自己研究下 servlet 3.0 的。我们学 java web 的时候就知道,servlet 容器会自动加载。,那应该也会被 servlet 容器加载,是不是这样呢?接口,这就决定了在 servlet 容器启动的时候。这个类实现了 servlet 3.0 的。方法会被自动触发,而在。而完成这个加载工作的是。被容器带起来的过程。

2025-01-08 17:50:13 442

原创 spring mvc源码学习笔记之九

在前面的文章中,我们简单讲了可以用接口去替换web.xml。本文对这一块再做个详细讲解。在这个接口的 javadoc 中有提到可以用继承的方式替换实现接口。先看代码,然后再具体解释。

2025-01-08 17:49:16 743

原创 spring mvc源码学习笔记之八

本文说点儿简单的。如果你想研究基于 XML 配置的 spring mvc 的话,可以简单扫一眼本文。在基于 XML 配置的 spring mvc 开发中,我们主要就是通过 spring 提供的各种标签来配置。但是,大家是不是都有个疑问,spring 到底给我们提供了多少标签?都有哪些?子元素有哪些?属性有哪些?当然,如果你对 XML 非常熟悉,那简单,直接看对应模块的 schema 文件就行了。比如在 sping-webmvc 模块的 META-INF/spring.schemas 文件中就定义了

2025-01-08 17:47:52 1069

原创 spring mvc源码学习笔记之七

我们都知道,spring mvc 有处理器适配器、处理器映射器、视图解析器等几个非常重要的核心组件,学习 spring mvc 就是学习这些组件。忘了说了,一直说处理器映射器、处理器适配器、处理器异常解析器,还没说啥是处理器,其实就是我们写的。对应的应用上下文中没有找到对应的 bean 的时候,这里边的这些类可用作兜底,也就是作为默认值。啥叫默认的策略,可以简单说下,就是处理器适配器、处理器映射器、视图解析器这些组件的默认值。翻译一下:这个文件中的内容定义了。的,这没毛病,博主想说的是,大家可以仔细看看。

2025-01-08 17:45:58 500

原创 spring mvc源码学习笔记之六

com.qs.demo.MyWebApplicationInitializer 内容如下com.qs.demo.root.AppConfig 内容如下com.qs.demo.root.AppleService 内容如下com.qs.demo.sub.DispatcherConfig 内容如下com.qs.demo.sub.BananaService 内容如下com.qs.demo.sub.Demo01Controller 内容如下以上就是全部代码写这个例子主要

2025-01-04 17:15:44 798

原创 spring mvc源码学习笔记之五

web.xml 内容如下src/main/webapp/WEB-INF/app1-servlet.xml 内容如下src/main/webapp/WEB-INF/app2-servlet.xml 内容如下com.qs.demo.s1.PeopleV1Controller 内容如下com.qs.demo.s2.PeopleV2Controller 内容如下以上就是全部代码写这个例子主要是想说一个知识点。也就是说我们平时用 spring mvc 的时候,都会配置一个 Di

2025-01-04 17:13:39 1269

原创 spring mvc源码学习笔记之四

src/main/webapp/WEB-INF/web.xml 内容如下src/main/webapp/WEB-INF/app-context.xml 的内容如下src/main/webapp/WEB-INF/qs-servlet.xml 的内容如下com.qs.demo.root.PeopleService 的内容如下com.qs.demo.sub.PeopleController 的内容如下以上就是全部代码写这个例子主要是为了看父子容器这个事儿。上面的例子可以分

2025-01-04 17:12:57 1023

原创 spring mvc源码学习笔记之三

src/main/webapp/WEB-INF/web.xml 内容如下src/main/webapp/WEB-INF/templates/t01.html 内容如下src/main/webapp/WEB-INF/templates/t02.html 内容如下com.qs.demo.FirstController 内容如下以上就是全部代码写这个例子主要是为了看名为 namespace 的 servlet init-param 。这个知识点是从 DispatcherServle

2025-01-04 17:12:25 809

原创 spring mvc源码学习笔记之二

src/main/webapp/WEB-INF/web.xml 内容如下com.qs.demo.A_ApplicationContextInitializer 内容如下com.qs.demo.Conf 内容如下com.qs.demo.FirstController 内容如下以上就是全部代码写这个例子主要是看名为 contextClass 的 servlet init-param 的用法。在上面的例子中,我们用 contextClass 指定了使用 AnnotationCon

2025-01-04 17:11:45 554

原创 spring mvc源码学习笔记之一

src/main/webapp/WEB-INF/web.xml 内容如下src/main/webapp/WEB-INF/a.xml 内容如下src/main/webapp/WEB-INF/templates/t01.html 内容如下src/main/webapp/WEB-INF/templates/t02.html 内容如下com.qs.demo.FirstController 内容如下以上就是全部代码写这个例子只要是为了看 的无参构造方法。如下

2025-01-04 17:09:38 752

原创 java中的泛型的一个常见错误用法

相信大家在项目中经常会碰到这种写法,就是说controller返回一个通用的数据结构,通常命名为 CommonRespone 、BaseReslt 、ApiRes 等等,并且通常都会用泛型来接纳要返回的业务数据,代码如下。乍一看,上面的代码似乎没有问题,严格来说,确实也没问题,但是,这里边对泛型的用法很容易让人产生误解。

2024-11-23 13:47:08 270

原创 Java中如何获取当前方法名

在看springboot源码的时候,有一段推断主类的代码,里边展示了一种获取当前方法名的方式。简化一下就是下面这样。

2024-10-29 16:00:39 267 1

原创 @Valid或@Validated校验日期格式

太简单了,下面是现成的代码,直接拷贝就能用,具体细节可博主。

2024-07-04 15:52:11 1584 1

原创 文件后缀名和MimeType的映射关系

在 Download 菜单下找一个版本,比如 Tomcat 9,点进去,下载源码。找到 conf 目录下的 web.xml 文件。打开,里边有很多 节点就是,总共一千多个吧。tomcat 的源码里边有。粘出来,自己处理一下。

2023-06-26 17:01:19 1837

原创 java -D详解

其次,-D 是属于 [options] 这一块的。而 [options] 又分为如下几类。-D 就属于标准选项(Standard Options)中的一个,其作用是。官方文档对 -D 有明确的解释,具体看。首先,java 命令是这么用的。,官方对其作用及用法描述如下。

2023-06-20 10:01:01 5239 1

原创 IDEA中的建造者模式代码生成插件

Mac 电脑按快捷键 Command + N 弹出如下弹窗。插件名称:Builder Generator。选 Builder 后弹出如下弹窗。作用:帮助生成建造者模式的代码。配置项不多,自己试试。

2023-06-08 11:47:54 1252

原创 http.conn-manager.timeout的含义

在 apache http client 中,有 http.conn-manager.timeout 这样一个配置,该配置的作用是:指定从连接池中获取连接的最大等待时间。

2023-06-07 08:48:08 279

原创 解决Mail health check failed

这是个自动注入配置类,那就想了,关掉这个自动注入不就完事了吗,那怎么关掉这个自动注入呢,观察一下,发现了。看这个注解上面的注释,是不是很清楚了,关键是。先看下报错信息,不粘那么多,关键部分如下。很自然就想到看下这个类在哪里用到了,按住。重新启动项目,发现报错信息没了。键的同时点击这类的名称,如下。通过日志可以看出,报错的是。那就点开这个类看一眼,如下。,于是点进去看下,如下。于是,试着配置一下咯。

2023-04-21 09:14:10 9245

原创 SMTP/IMAP/POP协议的区别

SMPT/POP3/IMAP协议的区别

2023-03-05 10:53:19 3272

原创 解决spring cloud启动报HystrixTimeoutException的问题

解决spring cloud启动报HystrixTimeoutException的问题

2023-02-08 12:17:47 1440

原创 解决安装2.4版本的percona-xtrabackup和5.6版本的mysql冲突的问题

解决安装2.4版本的percona-xtrabackup和5.6版本的mysql的时候出现冲突导致安装失败的问题

2023-02-03 10:34:42 543

原创 MyBatis中默认的类型处理器有哪些

mybatis 内置的类型处理器

2023-01-19 11:25:44 236

原创 Java中怎样将Set转换为数组

Java中怎样将Set转换为数组

2022-10-13 11:04:52 873

原创 Java 中如何识别文件类型

Java 识别文件后缀

2022-09-16 10:16:56 615 1

原创 spring cloud zuul ratelimit 学习笔记

spring cloud zuul ratelimit

2022-06-24 14:29:22 145

原创 flyway Field ‘version_rank‘ doesn‘t have a default value

首先说明这个是flyway版本问题。我用的flyway版本是 5.2.1,如下:<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>5.2.1</version></dependency>项目启动的时候,报错如下:Caused by: jav.

2022-04-06 16:32:30 497 1

原创 nginx 的发音

2022-03-29 09:26:39 4959

原创 http://logback.qos.ch/manual/layouts.html#PatternLayout

/** * Logback: the reliable, generic, fast and flexible logging framework. * Copyright (C) 1999-2015, QOS.ch. All rights reserved. * * This program and the accompanying materials are dual-licensed under * either the terms of the Eclipse Public License

2022-01-24 14:34:09 177

空空如也

空空如也

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

TA关注的人

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