2026年6月12日
摘要: 背景 ResolvableType 是 Spring 框架提供的一个封装类,专门用来在运行时解析和处理复杂的泛型类型信息,解决了 Java 反射 API 在泛型处理上的不便。它可以看作是对 java.lang.reflect.Type 系列接口的更高层抽象,尤其是在处理嵌套泛型、通配符、类型变量时优 阅读全文
posted @ 2026-06-12 21:52 wastonl 阅读(11) 评论(0) 推荐(0)
  2026年6月10日
摘要: 堆内存相关概念 已提交的堆内存(Committed Heap Memory): 这是JVM已经向操作系统申请并预留的堆内存大小。这部分内存是JVM可以使用的,但可能并未完全被使用(即已提交的内存可能大于当前已使用的内存)。 提交的内存是连续的虚拟地址空间,并且操作系统已经为这部分地址空间预留了物理内 阅读全文
posted @ 2026-06-10 22:20 wastonl 阅读(19) 评论(0) 推荐(0)
  2026年6月7日
摘要: 需要从Producer、Broker、Consumer这三个方面来阐述。RocketMQ并不是说能100%保证消息不会丢失,而是通过各种手段把丢失概率降到极低。 Producer 依赖broker响应机制并且失败会重试 发送方式 是否可靠 oneWay 最差 async 中等 sync 最可靠 同步 阅读全文
posted @ 2026-06-07 15:00 wastonl 阅读(4) 评论(0) 推荐(0)
  2026年5月27日
摘要: RocketMQ 4.9.4 基础概念 集群的形成主要分为标识、注册和同步三个步骤 统一标识:每个Broker启动时,都会读取其配置文件中的brokerClusterName(集群名称)。所有拥有相同brokerClusterName的Broker,在逻辑上就属于同一个RocketMQ集群。 注册发 阅读全文
posted @ 2026-05-27 20:24 wastonl 阅读(16) 评论(0) 推荐(0)
  2026年5月11日
摘要: 安装 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> </dependency> <!-- jdk8, 分页插件分离到这个依赖了 --> <dependen 阅读全文
posted @ 2026-05-11 23:18 wastonl 阅读(17) 评论(0) 推荐(0)
  2026年4月5日
摘要: 在Spring MVC中,可以不直接使用HttpServletResponse对象实现下载行为,可以通过返回Resource对象来实现。 传统方式 @RequestMapping("/download") public void download(HttpServletResponse respon 阅读全文
posted @ 2026-04-05 12:20 wastonl 阅读(11) 评论(0) 推荐(0)
  2026年3月13日
摘要: 背景 默认情况下,Spring的事件监听是同步执行的,也就是publishEvent方法来触发ApplicationListener执行的。当然了也可以配置成异步去执行,但是这是全局的,所有的事件都会变成异步执行了(需要自己配置一个ApplicationEventMulticaster并给它设置一个 阅读全文
posted @ 2026-03-13 22:02 wastonl 阅读(5) 评论(0) 推荐(0)
  2026年2月28日
摘要: 基本介绍 在Spring容器关闭时(调用close方法)会自动销毁bean,这样使得一些bean可以释放自己的资源,比如各种连接池。 实现方式主要有如下几种 实现Lifecycle(SmartLifecycle)接口的stop方法 实现DisposableBean接口destroy方法 @Bean注 阅读全文
posted @ 2026-02-28 22:08 wastonl 阅读(23) 评论(0) 推荐(0)
摘要: 简要介绍 Lifecycle组件是为了扩展bean的生命周期功能而增加的,它还有一个直接子类为SmartLifecycle接口,该接口能够控制组件生命周期的执行顺序。 下面是接口定义 public interface Lifecycle { void start(); void stop(); bo 阅读全文
posted @ 2026-02-28 20:34 wastonl 阅读(17) 评论(0) 推荐(0)
  2026年1月20日
摘要: 简要介绍 Brave 是 Zipkin 官方的 Java 分布式追踪库,是 Sleuth 的底层实现。 Brave 主要负责三件事: 创建和管理 Trace / Span 上下文传播(线程 / 进程 / RPC) 把 Span 上报给后端(Zipkin 等) Spring Cloud Sleuth 阅读全文
posted @ 2026-01-20 23:39 wastonl 阅读(38) 评论(0) 推荐(0)