聊聊爲什麼要學習Netty

這會是Netty系列的第一篇,我想先聊聊 “爲什麼要學習Netty”。

  • 繞不開的編程框架
  • Java進階之梯
  • 面試“絕招”
  • 一個小小的心結

1.繞不開的框架

說到Netty,相信所有做Java後端開發的同學都應該聽說過。
這是一個再經典不過、且仍然被廣泛使用的網絡編程框架。
就我接觸過並看過源碼的開源項目,可以說基本上都是使用Netty作爲網絡通信的底層框架,包括Dubbo、RocketMQ、Canal、otter、HBase等等。

所以,我始終認爲,學習Java,Netty是一個繞不開的框架。

能徹底掌握一個如此必不可少的底層框架,是非常有必要的。

2.Java進階之梯

一個應用如此廣泛的東西,並不意味着簡單。

很多同學可能知道Netty,甚至使用過Netty,但是如果要深入探討技術細節,或者借鑑Netty來優化自己的項目,可能就會力不從心了。
Netty作爲一個衆所周知的高性能網絡編程框架,有太多值得我們學習的技術細節和核心原理。
包括但不限於:

  • 網絡IO模型
  • 多線程模型
  • 內存管理
  • 高性能數據結構
  • 設計模式

如果能將Netty中的這些技術細節徹底掌握,那麼我們對於網絡編程、操作系統、Java編程語言的理解,都將邁上一個全新的臺階。

3.面試“絕招”

除了提升技術水平之外,另一個大家比較重視的就是面試了。

對於中高級的後端開發面試中,Netty相關的知識點也是面試中絕對的高頻試題。
隨便舉幾個例子,相信大家都曾經碰到過:

  • Netty的粘包/拆包是怎麼處理的,有哪些實現?
  • 同步與異步、阻塞與非阻塞的區別?
  • BIO、NIO、AIO分別是什麼?
  • select、poll、epoll的機制及其區別?

所以,深入學習Netty,也是跳槽面試、升職加薪的必備“絕招”。

4.一個小小的心結

剛剛工作的時候,我們組有個技術大佬,非常非常強。基本上公司出現任何線上問題,沒有他解決不了的。
我有幸一畢業就在他的指導下進行工作,教會了我很多技術知識和技術成長路線。
我記得他當時跟我說過,

如果有時間,一定要系統性地學習Netty。如果沒有掌握Netty的核心原理,那麼永遠都是Java的初學者。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章