乐趣区

关于java:打算写一些Netty的文章了先聊聊为什么要学习Netty

微信搜寻【阿丸笔记】,关注 Java/MySQL/ 中间件各系列原创实战笔记,干货满满。

2021 年了,终于开始系统性总结 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 的初学者。

工作了几年,我心里依然朝思暮想这句话。
尽管零零散散也看过不少 Netty 的相干原理与技术博客,然而总归是浅尝辄止。
2021 年了,给本人定个小指标,肯定要 系统地、深刻地、有实际地 把握 Netty,修炼好“内功”。


如果你也有趣味,欢送跟着我一起看一看、练一练吧。

我会尽量联合源码与实战案例来分析 Netty 的核心技术原理,能在工作中有所输入,防止踩坑。

同时,也会联合高频面试题,将答复要点精炼进去。

都看到最初了,原创不易,点个关注,点个赞吧~

文章继续更新,能够微信搜寻「阿丸笔记」第一工夫浏览,回复【笔记】获取 Canal、MySQL、HBase、JAVA 实战笔记,回复【材料】获取一线大厂面试材料。

常识碎片从新梳理,构建 Java 常识图谱:github.com/saigu/JavaK…(历史文章查阅十分不便)

退出移动版