SpringFramework
,Acegi(SpringSecurity)
,Tomcat
,SpringBoot
,SpringCloud(部分)
, Jetty
,Velocity
,MyBatis/Generator
,Quercus(PHP in Java)
,Guava
,Android(UI部分)
源码阅读的目的
- 分析与解决 BUG(Quercus)
- 寻找隐藏的交互方式(Spring)
- 弥补文档的不完善性(非著名项目)
- 扩展与定制(Velocity,MyBatis/Generator等)
- 安全性检查(Quercus)
- 学习(Spring, Tomcat, Android-UI)
源码阅读的方式
- 确定目标对象(建立自信 OR 被打击自信)
- 分析主脉络
- 分步调试
- 从抽象到具体
定制化
Ali-Tomcat
对 Tomcat 的增加,比如对于ClasaLoader并行加载的补丁
ClassLoader.registerAsParallelCapable
,并合入Tomcat7.0.65。另外就是对于HSF(High-Speed Service Framework)的支持。Ali-JVM
PHP Support in Java
更全面的代码生成器
SpringBoot之兼容Velocity
权限平台的Boot化
收获
Tomcat -> 容器组件构架模型,生命周期管理与事件处理模型,以及 Pipeline 模型
Quercus, Binlog -> 协议的理解与实现
Android -> 分而治之与事件管理
Spring全家桶 -> 几乎囊括了所有的设计模式和架构模型
Tomcat 生命周期管理
1 | start() |