0
点赞
收藏
分享

微信扫一扫

Java生态研究


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

举报

相关推荐

0 条评论