
Spring AOP源码之ProxyFactory源码解析
本文从源码角度解析 Spring AOP 中 ProxyFactory 的实现,重点说明其在 JDK 动态代理与 CGLIB 之间的选择逻辑,以及 AopProxy、MethodInterceptor 链的构建与执行流程,帮助理解 Spring AOP 代理创建与方法拦截的内部机制。
最近 12 个月发布 58 篇,集中在

本文从源码角度解析 Spring AOP 中 ProxyFactory 的实现,重点说明其在 JDK 动态代理与 CGLIB 之间的选择逻辑,以及 AopProxy、MethodInterceptor 链的构建与执行流程,帮助理解 Spring AOP 代理创建与方法拦截的内部机制。

梳理 Spring 核心概念:Bean、BeanDefinition、BeanFactory 及其重要实现(DefaultListableBeanFactory)、BeanDefinitionReader 与扫描器、ApplicationContext 及常用实现、BeanPostProcessor、BeanFactoryPostProcessor、FactoryBean 的机制与示例,以及扫描过滤与元数据读取要点。

通过HelloWorld示例深入探讨了 Spring 的底层核心原理。文章解释了 Spring 是如何通过 AnnotationConfigApplicationContext 创建 Bean、如何进行依赖注入、如何管理 Bean 的生命周期以及如何通过 AOP 实现动态代理。此外,还介绍了 Spring 事务的处理机制以及如何推断构造方法。通过本篇文章,你将更清楚地了解 Spring 的工作机制及其强大之处。

在Spring框架中,FactoryBean是一个特殊的Bean,它并不直接返回实例,而是通过实现getObject方法来生成或修饰对象。本文介绍了FactoryBean的概念及其与BeanFactory的区别,探讨了它在Spring容器中的重要作用,并举例说明如何使用FactoryBean来简化复杂对象的实例化过程。

深入解析 TCP 套接字发送缓冲区的工作机制,包括数据写入、缓冲区满时的阻塞行为、内核发送流程以及常见误解。适合理解网络应用的发送路径与性能瓶颈。

TCP三次握手是建立可靠连接的核心过程,它通过 SYN、SYN-ACK 和 ACK 消息的交互,确保客户端和服务器能够顺利建立通信通道。本文将通过Wireshark 抓包,详细展示 TCP三次握手的具体流程,解析每一步的作用和背后的原理,帮助你更好地理解这一关键网络机制。

TOCTOU(Time-Of-Check to Time-Of-Use)是一类典型的竞态条件问题,指程序在“检查资源状态”和“实际使用该资源”之间存在时间窗口,状态可能被其他线程或进程悄悄改掉,从而引发逻辑错误或安全漏洞。本文通过 Redisson 分布式锁unlock的实际案例,说明 TOCTOU 在业务代码中的具体表现。

在 C 语言中,typedef 关键字用于为已有类型创建新的别名,从而提高代码的可读性和可维护性。本篇博客将深入解析 typedef 的用法,包括结构体重命名、指针类型定义、函数指针的应用,以及 typedef 和 struct 的区别,帮助你全面掌握 typedef 的使用技巧。

介绍了如何通过使用__attribute__ ((packed))关键字来取消默认的字节对齐,从而减少内存占用。通过一个简单的代码示例展示了在字节对齐和非字节对齐情况下结构体的内存占用对比。

本文详细介绍了BOM(材料清单)的概念、格式以及如何在项目中使用。BOM实际上是一个特殊的POM文件,它列出了一个工程的所有依赖及其对应版本,便于其他工程引用而无需指定具体版本。文章通过一个具体的BOM文件示例,解释了其关键信息和结构,包括打包方式、依赖管理等。