好想一篇文章就能夠學明白NIO(New IO)

如果是零基礎,顯然還是不太可能的事。但是還是有機會的,通過厚積薄發,往後的日子提提速。

1.“放大話”

這裏介紹一下NIO簡陋的知識體系,之後會形成一個大的思維導圖,包括Netty等…(自己也樂呵呵的期待一下)
NIO的知識體系

2.學習java.nio.*的建議

學Netty前,還是挺有必要先把 Java的 java.nio.* 包過一遍,瞭解一下Java的NIO是如何運作。

2.1 netty 與 java.nio.*

Netty確實很精緻。
這裏做一個比喻,例如Netty的精緻,就類似是Java的內存管理,提供了一套無敵的JVM,省事省心。
而java自帶的nio類似C++,幾乎所有操作系統的內存操作都要自己搭一遍。

不過也挺好,畢竟學一遍 java.nio.* 能夠對socket在NIO的事件處理有比較深刻的理解(畢竟踩坑多了就醒悟了)。這也是我推薦要好好學一下 java.nio.* 的原因。

2.2 實戰建議

建議在學之前,也動手搗鼓一下java.nio.* 的API,實現一些有趣的場景,例如fileChannel實現文件傳輸,使用socketChannel實現socket點對點之間的文件傳輸,或者是簡單的聊天室,這些都是最基本的socket、io處理。

PS:這裏的思維導圖參考了一些資源:《Netty、Redis、Zookeeper高併發實戰》

學習,要學會歸類總結,形成屬於自己的知識體系。

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