自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Nacos修改配置优先级,及探究springcloud配置优先级

摘要:通过分析Spring Cloud配置加载机制,发现设置spring.cloud.config.overrideSystemProperties=false可使系统参数(-D)和环境变量优先于Nacos配置。配置加载顺序为:Nacos默认配置>启动参数>系统变量>本地配置文件(application>bootstrap)。通过PropertySourcesPlaceholderConfigurer和Environment构造过程,揭示了@Value注解的解析原理。Nacos配置通

2025-12-16 20:22:47 732

原创 EventListener处理RocketMq消息可能导致消息丢失问题

本文分析了RocketMQ消息消费过程中可能丢失消息的几种实现方式及其原理。主要问题在于RocketMQ消费者和事件监听器的初始化顺序不确定:1)基于注解的消费者可能先初始化并接收消息,但监听器尚未添加到队列;2)@EventListener注解的监听器在所有非延迟bean实例化完成后才注册,更容易丢失消息。解决方案建议在CommandLineRunner或特定应用事件中通过代码方式启动消费者。文章详细剖析了Spring底层处理机制,包括BeanPostProcessor执行顺序和事件监听器注册流程,指出消

2025-10-13 20:28:26 848

原创 通过jstack命令如何识别出synchronized或AQS实现的锁是否产生了死锁?

最近项目上遇到了死锁的问题,虽然最终发现了问题,但是排查的过程却非常曲折花费了很长时间,事后发现排查的过程中可能错过了很多重要的信息,就是因为对jstack里的信息不是很敏感,相信很多人可能也有这样的问题,所以这次针对jstack命令里能想到的一些死锁做了次复现和总结,ps:可能不全。jdk层面的死锁可能略微复杂一些,简单的jstack可以识别出来,复杂的需要开发人员来分析是否存在锁。这种的需要分析线程栈,分析业务,因为正常的情况也是长这样的。比如tomcat的线程,一些空闲的线程栈是类似的。

2025-08-11 15:17:27 287

原创 Spring @Scheduled注解、JUC定时线程池任务执行超过周期或者频率,下一次执行时间应该是什么时候呢?

主要分析了java定时(ScheduledExecutorService)任务的执行时间超过了设置的执行频率之后的执行行为是什么样子的,以及分析@Scheduled和java定时直接的关系和区别

2025-06-13 18:04:32 834

原创 SpringAI接入DeepSeek简单案例

使用SpringAI接入DeepSeek演示

2025-03-24 18:52:56 978

原创 spring-data-mongodb Update#set和Update#unset的key包含连续数字path,数据就会按照非预期持久化或删除

spring-data-mongodb Update#set key包含连续数值的path,如path.1.1,会不正确的持久化数据

2023-09-27 12:00:27 259

原创 聊一下不同应用线程池策略(jdk,tomcat,dubbo)

1.tomcat和dubbo的饥饿线程池都是扩展自jdk线程池,阻塞队列也进行了扩展。2.tomcat线程池初始化会预热核心线程3.tomcat/dubbo饥饿线程池当前线程数小于核心数时,添加任务会创建新线程,直到核心线程数够了,当当前线程数大于核心线程数时,添加任务会利用空闲线程,没有空闲线程才会添加阻塞队列。但是tomcat特殊点,因为核心线程已经提前预热完了。

2022-10-27 18:14:25 848

原创 ThreadLocal没用好的例子(构造用户上下文)

都在讲threadlocal,用完就清空,不清空就会造成内存泄漏,这个虽然也造成了内存泄漏,但是因为数量很少,tomcat线程数默认也就10~200个不会造成很大内存占用,而且如果都是自己的app登录的话都是有上下文的,线程内的上下文信息也会一直的变更也无所谓,但是也要养成好的习惯,用完就删除,万一造成了内存泄漏导致系统崩溃就gg喽~2.WeakReferene是弱引用,如果WeakReferene引用的实例没有其他对象引用连接,GC的时候会被清理掉,只清理范型的那个值。

2022-10-11 13:26:54 731

原创 踩坑!@Order失效。。。

1.在@Configuration里面通过@Bean是方式创建bean,在上面加@Order控制顺序是没有效果的2.控制顺序方式:实现Ordered接口、实现PriorityOrdered接口、在类上面加@Order、在类上面加@Priority、可以通过RegistrationBean方式创建bean,用setOrder添加顺序、filter可以通过FilterRegistrationBean创建filter的bean,指定顺序

2022-09-20 17:58:55 4416 1

原创 记一次关于ServletRequest.getInputStream不可重复使用踩的坑(涉及ContentCachingRequestWrapper)

getInputStream重复使用,自定义ServletRequestWrapper和ContentCachingRequestWrapper一起使用的坑。。。

2022-09-20 15:39:35 2573

原创 分析一下jvm中变量的位置

一些人总是搞不清楚程序执行时变量的存储位置,所以我决定写一篇文字分享给大家,帮大家少走点弯路,(我已经走了很多弯路了,以下例子可能不全)首先,先来看这段程序public class Test{ public int a=1; public static int b=2; static final int c=3; public String str1="abc"; p

2017-12-02 18:02:27 539

空空如也

空空如也

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

TA关注的人

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