微信搜索【阿丸笔记】,关注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…(历史文章查阅非常方便)

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

  1. 打算写一个《重学Node.js》系列,希望大家多多支持

    先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js ...

  2. 外国人专门写了一篇文章,来分析为什么go在中国如此火

    外国人专门写了一篇文章,来分析为什么go在中国如此火: <Why is Golang popular in China?> http://herman.asia/why-is-go-pop ...

  3. Netty 源码分析系列(二)Netty 架构设计

    前言 上一篇文章,我们对 Netty做了一个基本的概述,知道什么是Netty以及Netty的简单应用. Netty 源码分析系列(一)Netty 概述 本篇文章我们就来说说Netty的架构设计,解密高 ...

  4. Netty(二) 从线程模型的角度看 Netty 为什么是高性能的?

    前言 在之前的 SpringBoot 整合长连接心跳机制 一文中认识了 Netty. 但其实只是能用,为什么要用 Netty?它有哪些优势?这些其实都不清楚. 本文就来从历史源头说道说道. 传统 IO ...

  5. ES transport client底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync或者await(future超时机制)来实现类似同步调用!因此,ES transport client可以同步调用也可以异步(不过底层的socket必然是异步实现)

    ES transport client底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync或者await(future超时机制)来实现类似同步调用! 因此,ES tra ...

  6. Netty快速入门(10)Reactor与Netty

    Reactor模式 Reactor是1995年由道格拉斯提出的一种高性能网络编程模式.由于好多年了,当时的一些概念与现在略有不同,reactor模式在网络编程中是非常重要的,可以说是NIO框架的典型模 ...

  7. netty实现消息中心(二)基于netty搭建一个聊天室

    前言 上篇博文(netty实现消息中心(一)思路整理 )大概说了下netty websocket消息中心的设计思路,这篇文章主要说说简化版的netty聊天室代码实现,支持群聊和点对点聊天. 此demo ...

  8. 用Markdown写微信公众号文章

    目前微信公众号的编辑器是不支持Markdown语法的,那怎么办呢? 有一款叫Markdown Here的插件可以解决这个问题(支持Chrome.Firefox.Safari). 官方网站:http:/ ...

  9. 使用word写CSDN博客文章

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

随机推荐

  1. Syclover 第十次极客大挑战web题题解

    这次有空的时候报名参加了一下三叶草的招新比赛,比赛时间是一个月,题目都挺基础挺好玩的,在这里记一下自己的题解同时把自己没有做的题目也跟着writeup做一遍 第一题:cl4y:打比赛前先撸一只猫!: ...

  2. python接口测试自动化框架-发送邮件,邮箱报错: 535 Error, authentication failed

    1.无意中把腾讯企业邮箱设置为安全登录,接口测试自动化发送邮件,不能被正常接收.错误信息为:535 Error, authentication failed. 原因:认证安全登录后,原来新的邮箱代码传 ...

  3. .Net Core ABP应用如何在阿里云Linux Docker中开启Https

    .Net Core应用开启Https本身就有很多种方式:1.代码配置2.环境变量3.反向代理 这里主要记录下阿里云的ECS,加阿里云免费的SSL证书,通过程序代码,如何进行配置. 首先从阿里云下载证书 ...

  4. 百度前端技术学院-基础-day7.8

    任务:参考如下设计稿实现HTML页面及CSS样式 代码 点击预览 HTML 1 <!DOCTYPE html> 2 <html lang="en"> 3 & ...

  5. C++编程指南续(10-11)

    十.类的继承与组合 对象(Object)是类(Class)的一个实例(Instance).如果将对象比作房子,那么类就是房子的设计图纸.所以面向对象设计的重点是类的设计,而不是对象的设计. 对于C++ ...

  6. CSP-S 2019 Solution

    Day1-T1 格雷码(code) 格雷码是一种特殊的 \(n\) 位二进制串排列法,要求相邻的两个二进制串恰好有一位不同,环状相邻. 生成方法: \(1\) 位格雷码由两个 \(1\) 位的二进制串 ...

  7. 题解-比赛CF1332

    题解-比赛CF1332 比赛CF1332 [A] [B] [C] [D] [E] [F] [G] [A]Exercising Walk Exercising Walk \(T\) 组测试数据,每次给定 ...

  8. 深入理解Java虚拟机(六)——JVM调优分析与实战

    大内存硬件上的程序部署策略 单个虚拟机管理大内存 出现问题 如果JVM中的堆内存太小,就会频繁地出发GC,而每次GC会将用户线程暂停,所以,频繁地GC会导致长时间的停顿.如果扩大计算的内存的大小,就能 ...

  9. 转载:c# 获取CPU温度(非WMI,直接读取硬件)

    c#获取cpu温度 很早一个项目做远控,所以需要用到获取cpu温度,但是就是不知从何下手,无意中发现了Open Hardware Monitor,令我的项目成功完成 亲测20台清装xp sp2的机器, ...

  10. SpringBoot如何利用Actuator来监控应用?

    目录 Actuator是什么? 快速开始 引入依赖 yml与自动配置 主程序类 测试 Endpoints 官方列举的所有端点列表 启动端点 暴露端点 配置端点 发现页面 跨域支持 实现一个定义的端点 ...