Reef's Blog

hello world

​ 基于Netty 4.1.34版本,分析了 Netty 中NIO相关的 EventLoopGroupEventLoop 的核心功能和实现原理,重点涵盖了JDK Selector 的性能瓶颈与 Netty 优化策略事件循环线程的阻塞与唤醒机制(含空轮询 Bug 修复方案)、IO 事件与任务调度细节,并配套流程图直观展示 EventLoop 工作流程

阅读全文 »

​ 分析了 Netty 中 ChannelPipeline、ChannelHandler、ChannelHandlerContext 各自的作用和实现原理,重点讲了下解码器基类 ByteToMessageDecoder 是怎么解决粘包/拆包的问题以及在实际使用时该如何考虑。最后用一张流程图总结了这三个核心组件在实际数据处理过程中的组合和协作方式

阅读全文 »

​ 基于 Netty 4.1.34,从 Channel 的整体架构入手,分析了 Channel 与 Unsafe 的配合机制,以及底层对应的 NIO 实现类。在分析过程中也穿插了对关键方法的说明,最后总结了 Netty Channel 相比原生 JDK Channel 在使用体验和扩展性上的优势。

阅读全文 »

​ 主要分析了嵌入式 Tomcat 的构建流程,重点对比了它和传统 Tomcat 启动方式的差异,也梳理了 SpringBoot 提供的相关扩展点,比如 ServletContextInitializerBeans 的处理逻辑。最后结合 Tomcat 启动和 Spring 单例 Bean 初始化的整体流程,对延迟绑定端口,以及整个启动顺序背后的依赖关系做了系统性的分析和思考

阅读全文 »

​ 基于Spring Boot 2.7.x 版本,深入分析了OnBean、OnClass、OnProperty这三类常见Condition的源码实现,在此基础上,探讨了 @Conditional 注解的组合用法与、或、非逻辑)的处理机制。

​ 同时,分析了Condition匹配结果的debug支持实现,以及 ConfigurationClassPostProcessorCondition判断的触发流程,重点关注其通过 importedBy 链支持的 TrackedConditionEvaluator 回溯与剪枝优化策略

​ 最后,提供了逻辑@Conditional组合与 importedBy路径 skip 判定的测试用例,以验证整体逻辑的正确性

阅读全文 »

​ 基于 Spring Boot 2.7.x 版本,深入剖析了 @EnableAutoConfiguration 注解的实现原理,重点解析了其背后通过 DeferredImportSelector 实现的自动配置机制。特别对 @AutoConfigureBefore@AutoConfigureAfter 所涉及的 DFS 拓扑排序逻辑 进行了详细的分析,揭示了自动配置类加载顺序的核心控制机制

​ 最后,还分析了 2.7.0 版本新增的 @AutoConfiguration 注解的特殊语义,包括其与新的 .imports SPI 文件的绑定默认排除扫描机制AutoConfigurationExcludeFilter)。并给出了自己的使用建议

阅读全文 »

​ 算是一篇SrpingBoot自动配置原理解析的前置文章。首先从源码角度回顾了早期的 spring.factories SPI 加载机制,接着分析了 Spring Boot 2.7.x 引入的基于注解粒度的 .imports 文件机制,展示了其在自动配置解耦方面的优势。并介绍了两个常被 starter 使用的辅助组件:

  • spring-boot-configuration-processor:生成配置元数据,IDE使用
  • spring-boot-autoconfigure-processor:加速自动配置加载

​ 最后,结合自定义 starter 的实践,附上了完整的测试用例,验证上述机制在实际开发中的可用性

阅读全文 »

​ 基于 Spring Boot 2.7.x,从整体架构角度出发,梳理并串联了 fatjar 模式下的关键组件:ArchiveJarFileJarEntryHandlerJarURLConnection,重点分析它们在类加载过程中的职责与协作关系。全文不聚焦具体 jar 包结构解析细节,而是深入源码层面解析 fatjar 启动流程及 LaunchedURLClassLoader#loadClass 实现机制,并辅以实际测试用例进行debug和验证。

阅读全文 »


​ 本文从源码出发,剖析 Tomcat 中 Session 的懒加载、保活与生命周期控制机制,并解析了 StandardManager 如何借助序列化完成热部署场景下的 Session 持久化与自动恢复

阅读全文 »
0%