Java优秀框架源码学习

1. 前言

通过研究优秀的框架源码,可以洞察到设计者的思想,对提高自身开发水平有很大的帮助。为设计新的系统打下良好的基础,站在巨人肩膀可以看得更远。

2. Spring源码

Spring是java开发中使用频率最高的框架,包含大量的设计模式,是系统架构师必备的设计参考。

源码地址:https://github.com/spring-projects/spring-framework

源码编译:项目管理使用gradle,配置好gradle环境变量,并在idea中配置gradel的目录,即可编译。

3. RocketMQ源码

RocketMQ是消息中间件的代表,消息中间件是分布式领域中不可缺少的一环,故障的处理、性能的优化都离不开对源码的深入掌握,对自研分布式系统模块有很大的参考意义,底层的通信使用netty,使用javassist来做动态编程,对底层技术的使用有很大的参考意义。

源码地址:https://github.com/apache/rocketmq

源码编译:项目管理使用maven,在idea中配置好maven的目录,使用以下命令进行编译:

1
mvn -Prelease-all -DskipTests clean install -U

4. Flink源码

Flink作为stream,batch计算的融合,是大数据领域中处理流、批数据的优秀项目,掌握源码对了解分布式任务系统的设计,以及流式数据处理有很大帮助,通过比较与storm等框架的优劣,也能看出系统设计的最佳原则。

源码地址:https://github.com/apache/flink

源码编译:项目管理使用maven,在idea中配置好maven的目录,使用以下命令进行编译:

1
mvn clean package -DskipTests

5.其它

想要设计一套优秀的系统、框架。都离不开对已有框架的研究和学习,Java领域中优秀的不局限于以上3个框架,好的底层框架比如Netty,JAVA开发的基础JDK的设计,以及Java领域以外的优秀框架,比如C++领域中高性能低延时的设计。都是需要不断的学习与积累,没有终点,只有在学习的路上。不断学习思考才能与时俱进。