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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章