java框架源码解析包含内容
Spring 系列
1. IoC 容器
-
资源定位:BeanDefinition 的资源定位过程
-
解析与注册:将 bean 解析封装成 BeanDefinition,并注册进 IoC 容器
-
依赖注入(DI):从 BeanFactoryPostProcessor 到 BeanPostProcessor 的实现
-
源码解析:Spring BeanFactory 源码解析与循环依赖问题
2. AOP
-
源码揭秘:AOP 的实现及分析
-
动态代理:JDK 动态代理的实现原理解析
-
生效机制:Spring AOP 标签解析
3. SpringMVC
-
启动过程:IoC 容器在 Web 环境中的启动
-
设计与实现:SpringMVC 的设计与实现
-
跨域解析:SpringMVC 跨域处理详解
-
组件解析:HandlerMapping 与 MappingRegistry
4. SpringJDBC
-
数据库操作:SpringJDBC 的实现与解析
5. Spring 事务
-
事务处理:Spring 与事务处理的深度解析
-
声明式事务:Spring 声明式事务处理的设计与实现
6. Spring 源码故事
-
趣味解读:面筋哥与 IoC 容器的一天(上)
7. 整体脉络
-
图解:16 张图解锁 Spring 的整体脉络
8. 类解析
-
Spring 自定义标签解析[1]
-
Spring Scan 包扫描[2]
-
Spring 注解工具类[3]
-
Spring 别名注册[4]
-
Spring 标签解析类[5]
-
Spring ApplicationListener[6]
-
Spring messageSource[7]
-
Spring 自定义属性解析器[8]
-
Spring 排序工具[9]
-
Spring-import 注解[10]
-
Spring-定时任务[11]
-
Spring StopWatch[12]
-
Spring 元数据[13]
-
Spring 条件接口[14]
-
Spring MultiValueMap[15]
-
Spring MethodOverride[16]
-
Spring BeanDefinitionReaderUtils[17]
-
Spring PropertyPlaceholderHelper[18]
-
Spring PropertySource[19]
-
Spring PlaceholderResolver[20]
-
Spring-AnnotationFormatterFactory[21]
-
Spring-Formatter[22]
-
Spring-Parser[23]
-
Spring-Printer[24]
MyBatis
1. 基础支持层
-
反射工具箱与 TypeHandler 系列
-
DataSource 及 Transaction 模块
2. 核心处理层
-
初始化过程:MyBatis 初始化详解
-
SqlNode 与 SqlSource、ResultSetHandler、StatementHandler、Executor 组件
3. 类解析
-
Mybatis-Cache、Mybatis-log、Mybatis-Reflector 等
Netty
1. 网络 IO 技术基础
-
IO 模型:BIO、NIO、AIO 的全面对比
-
NIO 核心组件:Selector、SelectionKey 及 Channel 组件源码剖析
2. Netty 组件
-
粘拆包:Netty 粘拆包及解决方案
-
多协议开发:基于 HTTP、WebSocket、自定义协议的 Netty 开发
3. 高级特性
-
架构设计:Netty 的高性能之道与技术细节源码分析
Dubbo
1. 架构设计
-
整体架构:Dubbo 整体架构与 SPI 机制
-
注册中心:Dubbo 注册中心模块与 Zookeeper 实现
-
远程通信:基于 Netty、HTTP 的远程通信实现
2. RPC
-
模块简析:RPC 模块与 Dubbo 协议
-
集群:负载均衡、容错机制与服务降级
Tomcat
1. Servlet 与 Web 容器
-
Servlet 容器详解与 Web 服务器的实现
Redis
1. 源码剖析
-
深挖 Redis 6.0 源码:SDS
RocketMQ
1. 消息处理
-
NameServer 与 Broker 通信、消息发送与存储流程、消费者启动与消息拉取流程
番外篇(JDK 1.8)
1. 基础类库
-
String、Thread、ThreadLocal 类源码赏析
2. 集合
-
HashMap、ConcurrentHashMap、ArrayList 等类解析
3. 并发编程
-
JUC 并发包 UML 类图、Executor 线程池、Lock 锁组件等详解
学习心得
1. 个人经验
-
初级开发者应从 Spring 源码中学什么
2. 编码规范
-
一个程序员的自我修养
3. 设计模式
-
从 Spring 及 Mybatis 框架源码中学习创建型、行为型、结构型设计模式
4. 多线程
-
Java 并发编程在各主流框架中的应用
总结
本篇文章通过深入剖析互联网公司常用的框架源码,只有了解其实现原理,我们在日常开发中才能对每个组件使用的更精准,只有真正掌握框架的核心,才能成为真正的技术专家!