歡迎光臨
每天分享高質量文章

淺談原始碼閱讀

經典的原始碼像詩,值得細細品味

1. 明確目的

閱讀書籍和原始碼最好帶著自己的問題和目的,這樣可以避免“看了就忘”的尷尬狀態。

讀研期間,為了掌握嵌入式開發,讀了很多Linux的核心原始碼,摸索清楚了一個Linux系統從系統加電到控制檯出現的流程。剛畢業轉Java開發那會,為了掌握後端開發,讀了很多Spring的原始碼,搞清楚了一個請求從到達後端伺服器開始,到傳迴響應的流程、搞清楚了IoC和AOP的工作原理。

最近開始閱讀RocketMQ的原始碼,目的有兩個:

  1. 學習MQ的通用知識(可靠傳送、可靠消費、順序訊息、訊息優先順序等等)、RocketMQ自己的實現,以及不同MQ之間的比較。

  2. 學習RocketMQ中對Java併發、Netty等框架的使用

2. 基本流程

原始碼閱讀是有一定的套路的。以RocketMQ為例,分享下我的方法:

  • (1)我會先去學會基本的使用;

  • (2)閱讀官網的檔案,瞭解該中介軟體的整體架構、核心概念;

  • (3)梳理基本功能的實現,例如系統啟動、傳送訊息、消費訊息的過程;

  • (4)關鍵點梳理,例如高可用如何實現?上億的堆積能力如何實現?低延遲如何實現?順序訊息如何實現?

另外,如果需要精讀甚至定製開發時,才有必要搭建一套debug環境。

贊(0)

分享創造快樂