
Netty原理及实战专题
文章平均质量分 96
你是否曾因Netty的复杂度而感到困惑?是否想深入了解其框架组件和API,以编写高效、可复用的代码?欢迎来到我们的专栏—《Netty原理及实战》,这里将为你揭开Netty的神秘面纱,助你成为网络编程的高。
码界西柚
优酷资深工程师 | INTJ | 狮子座 | 高洞察力理性自律小i人,
著作《深入浅出Java虚拟机—JVM原理与实战》,
10年以上开发经验,参与设计过多个大型互联网项目,定期分享技术干货和项目经验,
希望大家可以多多支持我,点赞关注一下
展开
-
全方位技术攻关 | 带你建立Netty网络编程技术栈 ——【进阶篇】传统NIO编程模型与实现细节探讨(3)[通信篇]
在掌握了FileChannel与Buffer的核心机制后,让我们将视野转向更复杂的网络通信领域。作为NIO三大核心组件之一,SocketChannel通过其独特的非阻塞特性,彻底改变了传统IO模型的交互范式。传统BIO模型中,套接字的accept/read/write操作可能因等待资源而永久阻塞线程,导致线程利用率低下。例如,在一个非阻塞式ServerSocketChannel上调用accept()方法,如果有连接请求来了,则返回客户端SocketChannel,否则返回null。NIO通过配置,使这些关键原创 2025-03-26 19:22:30 · 119 阅读 · 0 评论 -
全方位技术攻关 | 带你建立Netty网络编程技术栈 ——【基础篇】传统NIO编程模型与实现细节探讨(2)[组件篇]
调用clear()方法:position将被设回0,limit设置成capacity,换句话说,Buffer被清空了,其实Buffer中的数据并未被清除,只是这些标记告诉我们可以从哪里开始往Buffer里写数据。NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用的数据,如果目前没有数据可用时,就什么都不会获取。IO的各种流是阻塞的。而Channel的革新之处在于构建了双向数据传输模型,这种设计突破不仅支持传统的读取操作,更实现了写入功能的集成,形成了完整的双向数据交互通道。原创 2025-03-18 20:44:40 · 98 阅读 · 0 评论 -
全方位技术攻关 | 带你建立Netty网络编程技术栈 ——【基础篇】分析Netty的组件和架构设计(1)
本文将通过构建一个简易的网络客户端与服务器,从类库和框架这两个紧密相连的视角,深入剖析Netty。同时,我们还将站在更高的层次上,探讨Netty的技术特性与体系结构,主要包含了设计角度和组件角度。接下来,我们将重点介绍Netty的核心组件,包括Channel、EventLoop和ChannelFuture类。这些组件构成了Netty网络通信架构的基础,我们将深入探讨它们的实现细节,并分析它们如何协同工作以支持高效的网络通信。原创 2025-03-07 13:33:05 · 203 阅读 · 0 评论