You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 KiB
12 KiB
互联网公司常用框架源码赏析
“技术深度”与“技术广度”是对开发者来说最为重要的两个维度,本项目致力于从源码层面,剖析和挖掘互联网行业主流技术的底层实现原理,为广大开发者“提升技术深度”提供便利。
加入我们,一起通读互联网行业主流框架及中间件源码,成为强大的“源码猎人”,目前开放的有 Spring 系列框架、Mybatis 框架、Netty 框架、Dubbo 框架,及 Redis、Tomcat 中间件等,让我们一起开拓新的领地,揭开这些源码的神秘面纱。本项目主要用于记录框架及中间件源码的阅读经验、个人理解及解析,希望能够使阅读源码变成一件简单有趣,且有价值的事情,抽空更新中...(如果本项目对您有帮助,请watch、star、fork 素质三连一波,鼓励一下作者,谢谢)
Spring 系列
IoC 容器
AOP
SpringMVC
SpringJDBC
- 努力编写中...
Spring 事务
Spring 源码故事(瞎编版)
Spring 类解析
Spring5 新特性
Spring RMI
Spring Message
SpringBoot
- SpringBoot run方法解析
- SpringBoot 配置加载解析
- SpringBoot 自动装配
- SpringBoot ConfigurationProperties
- SpringBoot 日志系统
MyBatis
基础支持层
核心处理层
类解析
- Mybatis-Cache
- Mybatis-log
- Mybatis-Reflector
- Mybatis-Alias
- Mybatis-Cursor
- Mybatis-DataSource
- Mybatis-DyanmicSqlSourcce
- Mybatis-MapperMethod
- Mybatis-MetaObject
- Mybatis-MethodSignature
- Mybatis-ObjectWrapper
- Mybatis-ParamNameResolver
- Mybatis-SqlCommand
- Mybats-GenericTokenParser
Netty
网络 IO 技术基础
- 把被说烂的 BIO、NIO、AIO 再从头到尾扯一遍
- IO模型
- 详解selector、poll和epoll
- 四种IO编程及对比
Netty 粘拆包解决方案
Netty 编解码
Netty 多协议开发
基于 Netty 开发服务端及客户端
Netty 主要组件的源码分析
- ByteBuf组件
- Channel组件 和 Unsafe组件
- ChannelPipeline 和 ChannelHandler组件
- EventLoop 和 EventLoopGroup组件
- Future 和 Promise组件
Netty 高级特性
Dubbo
架构设计
SPI机制
注册中心
远程通信
RPC
集群
Tomcat
- servlet-api 源码赏析
- 一个简单的Web服务器
- 一个简单的servlet容器
- servlet容器详解
Redis
- 努力编写中...
番外篇(JDK 1.8)
- Executor 线程池组件 源码赏析
- Lock 锁组件 源码赏析
- Thread类 源码赏析
- ThreadLocal类 源码赏析
- HashMap类 源码赏析
- ConcurrentHashMap类 源码赏析
- String类 源码赏析
学习心得
个人经验
编码规范
设计模式
- 从 Spring 及 Mybatis 框架源码中学习设计模式(创建型)
- 从 Spring 及 Mybatis 框架源码中学习设计模式(行为型)
- 从 Spring 及 Mybatis 框架源码中学习设计模式(结构型)
- 从框架源码中学习设计模式的感悟
多线程
贡献者
感谢以下所有朋友对 GitHub 技术社区 Doocs 所做出的贡献,参与项目维护请戳这儿。