好想一篇文章就能够学明白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高并发实战》

学习,要学会归类总结,形成属于自己的知识体系。

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