- 博客(551)
- 收藏
- 关注

转载 SpringBoot启动过程详解
这是一个扩展功能,callRunners(context, applicationArguments) 可以在启动完成后执行自定义的run方法;实现 ApplicationRunner 接口实现 CommandLineRunner 接口接下来我们验证一把,为了方便代码可读性,我把这2种方式都放在同一个类里面/*** 自定义run方法的2种方式*/@Component@Override。
2023-05-12 09:39:03
3117
1
原创 SpringBoot集成Quartz
springboot使用yml配置时可直接给工具类注入。,获取的是默认的属性配置,yml不会生效,需使用。在使用yml自动配置时,配置自定义的。
2025-05-27 15:15:22
511
原创 SpringBoot 集成 Ehcache 实现本地缓存
SpringBoot 集成 Ehcache 实现本地缓存_springboot ehcache-优快云博客
2025-05-07 17:41:30
226
转载 Arthas线上监控诊断
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
2025-04-29 21:31:37
121
转载 RocketMQ分布式消息队列
MQ全称为Message Queue,即消息队列 ,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生 产、存储、消费全过程的软件系统,遵循FIFO原则。 RocketMQ是一个统一消息引擎、轻量级数据处理平台。
2025-04-25 10:14:16
153
原创 通过 Request 请求获取真实 IP 地址以及对应省份城市
通过 Request 请求获取真实 IP 地址以及对应省份城市 - 凡223 - 博客园
2025-04-15 09:39:58
136
原创 pgsql:关联查询union(并集)、except(差集)、intersect(交集)
pgsql:关联查询union(并集)、except(差集)、intersect(交集)_pgsql except-优快云博客
2025-04-10 16:06:44
596
原创 Tomcat线程池详解,为什么SpringBoot最大支持200并发?
在 Spring Boot 微服务架构中,单个实例的性能瓶颈通常不在于并发连接数(如200个并发连接),而是在于单个实例能够处理的请求速率和资源使用情况(如CPU、内存、I/O等)。如果你的单个微服务实例在单机上能够处理200个并发连接而没有达到性能瓶颈,那么增加更多的实例理论上可以提升整体的吞吐量和可用性。在考虑多实例部署之前,务必确保单实例的性能已经达到了瓶颈,并且通过适当的负载测试验证多实例部署后的性能提升。同时,合理的资源分配、服务发现与注册、以及有效的监控是确保多实例部署成功的关键因素。
2025-03-17 16:37:48
529
原创 Elasticsearch理解及问题解决
图例1: 图例2:Java从入门到架构师_Elasticsearch-优快云博客(优质)重学Elasticsearch第6章 : SpringBoot整合RestHighLevelClient_es集群resthighlevelclient springboot-优快云博客Springboot中使用Elasticsearch(部署+使用+讲解 最完整)_spring boot elasticsearch-优快云博客Springboot引入elasticsearch-rest-high-leve
2025-02-18 14:35:03
562
原创 转换树结构数据
java中把一个list转tree的三种方法——工具类_java list转tree-优快云博客java如何将一个list转换为树形结构 java list转tree_jiecho的技术博客_51CTO博客
2025-02-08 11:26:55
196
原创 IDEA常见50个实用插件+idea提效设置
Idea常见50个插件汇总(超级实用)_idea 常用插件-优快云博客新款 IDEA 神级插件!效率提升 50 倍!-腾讯云开发者社区-腾讯云
2025-02-06 17:55:43
149
原创 SpringBoot Starter 通用接口加密组件(防篡改)+ RequestBodyAdvice和ResponseBodyAdvice原理
防篡改:参考博客:(防篡改)
2025-01-18 09:36:26
644
原创 接口防篡改+防重放攻击
nonce的意思是仅一次有效的随机字符串,要求每次请求时该参数要保证不同。实际使用用户信息+时间戳+随机数等信息做个哈希之后,作为nonce参数。如果没有,则创建这个key,把这个key失效的时间和验证timestamp失效的时间一致,比如是60s。如果有,说明这个key在60s内已经被使用了,那么这个请求就可以判断为重放请求。去redis中查找是否有key为nonce:{nonce}的string。
2025-01-18 09:31:17
2171
原创 Maven项目中pom文件中的dependencyManagement,dependencies,dependency有什么区别?
Maven项目中pom文件中的dependencyManagement,dependencies,dependency有什么区别?_pom dependencymanagement-优快云博客
2025-01-13 16:00:13
168
转载 synchronized的四种用法
Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起来的范围,而修饰方法范围是整个函数。例如:方法一// todo方法二// todo写法一修饰的是一个方法,写法二修饰的是一个代码块,但写法一与写法二是等价的,都是锁定了整个方法时的内容。synchronized关键字不能继承。
2024-12-24 18:42:42
958
转载 工作流学习-flowable监听器使用
事件监听器主要用于全局级别的事件处理,它可以监听流程实例生命周期中的特定事件,以及流程定义、任务、作业等各种实体相关的事件。在BPMN规范中,序列流(Sequence Flow)是连接两个活动的路径,当流程沿着序列流进行流转时,会在转移过程中触发 take 事件。这通常发生在流程实例的生命周期初期,例如当一个流程启动或进入一个新的活动节点(如用户任务、服务任务、脚本任务等)时。当流程从一个活动节点转移到另一个节点时,执行一些通用的数据处理操作,如更新业务对象的状态、计算动态路由条件等。
2024-11-29 15:58:27
2030
原创 SpringBoot 容器启动之后初始化操作
在项目开发中,有时候会在 Spring 应用启动后做一些初始化的操作,比如数据字典缓存,状态通知,配置读取等操作。Event执行优先级 @PostConstruct > SmartLifecycle.start() > ContextRefreshedEvent > ApplicationStartedEvent >ApplicationRunner > CommandLineRunner > ApplicationReadyEvent。
2024-11-23 14:20:04
1088
原创 Mybatis数据脱敏-自定义一个TypeHandler类型的处理器,用于处理数据的加密和解密
SpringBoot接口返回数据脱敏(Mybatis、Jackson)_java_脚本之家
2024-11-11 09:09:16
184
转载 @EnableConfigurationProperties的使用方式以及作用
在测试代码上加上@EnableConfigurationProperties,参数指定那个配置类,该配置类上必须得有@ConfigurationProperties注解。(提外话:具体的yml文件字符串、List、Map的书写方式并使用@ConfigurationProperties注入配置类.)结果图,仍然可以绑定。
2024-08-08 16:50:03
569
转载 PostgreSQL分区表
分区表数据库分区表将表数据分成更小的物理分片,以此提高性能、可用性、易管理性。分区表是关系型数据库中比较常见的对大表的优化方式,数据库管理系统一般都提供了分区管理,而业务可以直接访问分区表而不需要调整业务架构,当然好的性能需要合理的分区访问方式。分区表是数据库中常见的技术,而PostgreSQL中的分区表有许多专有的特性,比如分区表实现方案多、分区为普通表、分区维护方案、SQL优化还有一些分区表的问题。
2024-07-25 18:15:54
1371
转载 Flux 和 Mono 、reactor实战 + ServerWebExchange
响应式编程用的是越来越多,尤其是在移动端 安卓的应用上边。在Java后台服务开发中, 响应式编程用的不是太广泛,主要原因是, 响应式编程需要一个完整的生态, 包括数据库、缓存、中间件,都需要配套的响应式组件。但是这点,其实很多并没有。但是,随着 SpringCloud Gateway 的火爆, 响应式编程又变成了 不可回避, 不得不去学习的技术。如果要做 SpringCloud Gateway 的开发, 就必须掌握一些响应式编程的知识。把响应式编程Flux 和 Mono 的知识梳理一下,形成了此文。
2024-07-16 16:47:57
233
转载 Spring网关与WebFlux-Mono和Flux
WebFlux 是 Spring Framework 5 引入的一个模块,它是一个 非阻塞的、异步的、响应式的 Web 开发框架。WebFlux 设计的核心是为了 使用现代 Web 应用对于高并发、低延迟和高吞吐量的需求,它采用 Reactive 编程模型,通过 Reactor 库实现了异步数据流处理。在 WebFlux 中,HTTP 请求和响应被建模为Mono(代表 0~1 个元素的异步序列)和Flux(代表 0~N个元素的异步序列)类型,这些都是 Reactive Streams 规范的一部分。
2024-07-16 16:40:49
391
原创 Markdown基本语法
网络图片](https://img-blog.csdnimg.cn/img_convert/96fa49d140b7c368838e9760383aa712.jpeg)再比如图片:<img src =https:XXXXXXXXX alt=”我的图片” style=”zoom:33%”></img>插入数学公式时,可以使用两个美元符$$包裹Tex或LaTex格式,普通编辑器可能不支持,可以放进[马克飞象]或使用Typora。[本机图片](.png)注:使用本机图片时,要一起打包图片。
2024-07-16 10:42:35
723
原创 Request流只能读取一次的问题
每次调用后的getInputStream方法都是从复制出来的二进制数组中进行获取,这个二进制数组在对象存在期间一致存在。使用Filter过滤器,在一开始,替换request为自己定义的可以多次读取流的request。这样就实现了流的重复获取。比如:使用了filter或者aop在接口处理之前,获取了request中的数据,对参数进行了校验,那么之后就不能在获取request请求流了。在接口调用链中,request的请求流只能调用一次,处理之后,如果之后还需要用到请求流获取数据,就会发现数据为空。
2024-06-27 09:46:42
635
转载 @ConditionalOnXXXXX条件注解
首先看matchIfMissing属性,用来指定如果配置文件中未进行对应属性配置时的默认处理:默认情况下matchIfMissing为false,也就是说如果未进行属性配置,则自动配置不生效。简单来讲,一般是在配置类上或者是@Bean修饰的方法上,添加此注解表示一个类是否要被Spring上下文加载,若满足条件则加载,若不满足条件则不加载。如:http编码的自动配置类中,当配置文件中没有配置spring.http.encoding.enabled,自动配置仍然会生效。
2024-06-21 12:52:47
2703
原创 MAVEN-SNAPSHOT和RELEASE + 打包到远程仓库
RELEASE版本和SNAPSHOT是相对的,⾮SANPSHOT版本即RELEASE版本,RELEASE版本是⼀个稳定的版本号,看清楚咯,是⼀个,不是⼀系列,可以认为RELEASE版本是不可变化的,⼀旦发布,即永远不会变化。虽然RELEASE版本是稳定不变的,但是仓库还是有策略让这个原则变得可配置,有的仓库会配置成redeploy覆盖,这样RELEASE版本就变成SNAPSHOT了,伪装成RELEASE的SNAPSHOT,会让问题更费解和棘⼿,我⼀般称这类⼈为“挖坑专家”。
2024-06-12 17:07:46
3530
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人