当前位置 博文首页 > 打算写一些Netty的文章了,先聊聊为什么要学习Netty

    打算写一些Netty的文章了,先聊聊为什么要学习Netty

    作者:阿丸 时间:2021-01-11 21:02

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

    2021年了,终于开始系统性总结Netty相关的东西了。

    打算写一些Netty的文章了,先聊聊为什么要学习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…(历史文章查阅非常方便)
    下一篇:没有了