华为架构师撰写的Netty核心笔记,从Java NIO到Netty的高级特性

众所周知,Netty 作为当前流行的 NIO 框架,操作省时、省事还安全,在云计算、大数据通讯,电商、游戏等领域都有广泛的应用。如果是一个大型网站,内部接口非常多的情况下,好处很明显——首先就是长链接,不用每次通信都要像 http 一样去 3 次握手什么的,减少了网络开销;其次就是其自带的注册中心、监控管理、动态扩展等,开发非常方便。然而,想要将 Netty 真正掌握并精通难度却不小。一些学习者平时只注重使用,但一到面试的时候往往卡壳:

  • Netty框架本身存在粘包半包问题?什么时候需要考虑?

  • 如何实现 WebSocket 长连接?

  • 服务端如何进行初始化?何时接受客户端请求?何时注册接受 Socket 并注册到对应的 EventLoop 管理的 Selector ?

  • Netty 的零拷贝如何实现?

如上,面试官一问到 Netty ,大概率会问到源码问题。如果多线程编程、Socket 通信、TCP/IP 协议栈等知识掌握不扎实,很难回答上来。即便在工作中,Netty 调用过程中遇到问题,如果不会追踪定位,效率也会很低。因此,沉下心来,抓重点的学习,才能事半功倍,攻克 Netty 。

目录

基础篇 走进Java NIO

Java的一些类库在早期设计中功能并不完善或者存在一些缺陷,其中最令人恼火的就是基于同步I/O的Socket通信类库,直到2002年2月13日JDK1.4 Merlin的发布,Java才第一次支持非阻塞I/O,这个类库的提供为JDK的通信模型带来了翻天覆地的变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值