标签

易混淆概念

Netty:Pipeline 消息传播、Handler 选型与 Reactor 模型易错点解析
Netty 的网络通信涉及多个层次:IO 多路复用负责监听就绪事件,Reactor 负责组织事件分发,Pipeline 负责事件传播,Handler 负责具体业务处理,Future 则用于表示异步操作的执行结果。 如果混淆这些概念,就容易在消息编码、引用计数、线程中断和资源关闭等方面出现错误理解。
2026-11-01
|
8
|
0
|
0
Java NIO:compact() 的正确理解与常见问题
一、compact() 是什么? compact() 的作用是:保留 Buffer 中尚未读取的数据,将它们移动到缓冲区开头,并将 position 设置为剩余数据的长度,以便继续写入新数据。 它主要解决一个问题: 当 Buffer 中的数据没有处理完,又需要接收新数据时,如何保留之前未处理的数据?
2026-11-01
|
5
|
0
|
0
Java NIO:compact() 的正确理解与常见问题
一、compact() 是什么? compact() 的作用是:保留 Buffer 中尚未读取的数据,将它们移动到缓冲区开头,并将 position 设置为剩余数据的长度,以便继续写入新数据。 它主要解决一个问题: 当 Buffer 中的数据没有处理完,又需要接收新数据时,如何保留之前未处理的数据?
2026-11-01
|
7
|
0
|
0
Netty:自定义 TCP 通信协议设计与编解码实现
一、为什么需要自定义 TCP 协议? TCP 是面向字节流的协议,不保留应用层消息边界。客户端和服务端需要约定统一的消息格式,才能正确识别和解析数据。 自定义协议主要解决: 1. 如何判断一条消息从哪里开始、在哪里结束。 2. 如何区分登录、心跳、业务数据等消息类型。 3. 如何识别协议版本。 4.
2026-10-31
|
7
|
0
|
0
ChannelPipeline 与 Handler 事件传播机制
一、ChannelPipeline 是什么? ChannelPipeline 是 Netty 中负责管理多个 ChannelHandler 的处理链。 每个 Channel 都有自己的 Pipeline。 Pipeline 主要负责: 消息拆包、粘包处理。 字节数据的编码和解码。 业务逻辑处理。 连
2026-10-30
|
8
|
0
|
0