Java生态研究

版权声明:欢迎分享技术,转载请声明。更多技术请访问https://github.com/javahongxi 欢迎关注微信公众号99猎头 https://blog.csdn.net/javahongxi/article/details/90285954

Java语言之所以经久不衰,长期霸占编程语言排行榜前两名,除了简单、跨平台、安全和性能不错之外,更重要的是它在开源的基础上逐渐形成了无与伦比的技术生态。Java生态里的开源技术数不胜数,而程序员的学习精力是有限的,而且也完全没必要什么都学,所以非常有必要搞清楚自己应该学习什么,由此本人特地探索了一套Java生态学习模式。

 

这套生态学习模式是基于当前微服务架构大行其道的实践,之所以称为生态模式,是因为开发大型系统需要多种核心技术的支撑,每种核心技术有其值得骄傲的应用场景。本人的技术生态里有那些核心技术呢?主要有如下几点考量:

  • 该技术被广泛使用且基本是同领域首选或二选

  • 该技术自成生态且该类技术在大型系统里必用

  • 该技术学习资料丰富且易于学习

  • 该技术用Java语言或其他主流语言开发

  • 该技术不会很快过时

     

 

满足如上几点,本人认为是学习性价比高的技术,是必学技术。基于此,如下几门技术是本人的生态研究主角:

  • Spring Boot 解放生产力的利器

  • Dubbo / 《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》 分布式RPC,微服务架构

  • 《Redis设计与实现》 缓存,NoSQL数据库,分布式锁,位图

  • 《RocketMQ实战与原理解析》 / 《Kafka权威指南》 削峰填谷,异步解耦,顺序消息,分布式事务消息,大数据分析,分布式模缓存同步

  • Elasticsearch 搜索、分析和存储您的数据

即(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)

 

Java最好的实践还是写代码,生态研究对应的GitHub项目地址是https://github.com/javahongxi/whatsmars

Releases: https://github.com/javahongxi/whatsmars/releases

 

除了以上5个核心技术,还有一些Java生态里常用的技术也在这个项目里有研究demo,它们是配角,但也很重要,同5大主角一起构成了完整的Java生态研究计划。生态研究计划列表如下:

 

whatsmars-common Utils公共模块
whatsmars-dubbo 高性能分布式RPC框架
whatsmars-elasticjob 分布式调度框架
whatsmars-elasticsearch Elasticsearch
whatsmars-mq 消息中间件RocketMQ,Kafka等
whatsmars-redis Redis客户端简单封装
whatsmars-rpc Transport & Protocol & Serialization
whatsmars-shardingsphere 分布式数据库中间件
whatsmars-spring Spring Framework
whatsmars-spring-boot Spring Boot 实战
whatsmars-spring-boot-samples Spring Boot Samples
whatsmars-spring-cloud Spring Cloud 微服务生态
whatsmars-zk zookeeper remoting 封装

 

当然,生态研究还要辅以理论学习,可以参考如下技术博客或文档:

  • 阿里巴巴Java开发手册 

  • 技术博客 blog.hongxi.org 

  • 深入一点 deep.hongxi.org 

 

最后,给几点温馨提示:

  • 类→抽象类→接口

  • 带着问题去看源代码,没必要把源代码看完

  • 看源代码最大的技巧是看英文注释,另一个技巧是日志+DEBUG

  • 如果没有时间去深入研究一款软件,那么从宏观层面理解它的设计思想是重要的

  • 读书很重要,包括非技术书

 

PS: 快速访问本人的技术站点 -> hongxi.org

展开阅读全文

没有更多推荐了,返回首页