Netty:ByteBuf 与内存管理原理2026-10-312026-10-31技术Netty一、ByteBuf 是什么 ByteBuf 是 Netty 提供的字节缓冲区抽象,用于保存网络通信中的入站数据和出站数据。TCP 传输的是字节流,Netty 收到数据后,通常会将数据放入 ByteBuf,再交给 Pipeline 中的解码器和业务 Handler 处理。 @Override publ2026-10-31|5|0|0
Netty:常见 ChannelHandler 分类、作用与 WebSocket 处理机制2026-10-31技术易混淆概念/network/Netty一、ChannelHandler 是什么? ChannelHandler 是 Netty 中负责处理网络事件和消息的组件。 每个 Channel 都有一个对应的 ChannelPipeline,其中可以添加多个 Handler,组成消息处理链。 Netty Handler 主要分为两类: Chann2026-10-31|12|0|0
Netty:Bootstrap、ChannelFuture 与连接生命周期2026-10-302026-10-30技术Netty一、核心概念 Netty 的启动、连接、发送、关闭通常通过异步操作组织。Bootstrap / ServerBootstrap 负责配置与启动,ChannelFuture 表示操作最终结果,Channel 的生命周期事件用于管理连接状态。2026-10-30|5|0|0
Netty:channelInactive 与 channelUnregistered2026-10-30技术易混淆概念/Netty一、channelInactive 与 channelUnregistered 的区别 Netty 中,channelInactive() 和 channelUnregistered() 都属于 ChannelInboundHandler 的生命周期回调方法,但代表的含义不同。2026-10-30|6|0|0
Netty 问题总结:EventLoop、epoll、线程模型与异步处理2026-10-302026-10-30技术易混淆概念/Netty一、EventLoop 为什么能够管理多个 Channel? 面试问题: 一个 EventLoop 只有一个线程,为什么能够管理多个 Channel? 我的回答: 因为 EventLoop 基于 epoll 实现 I/O 多路复用,可以同时监听多个 Channel。 需要纠正: 方向正确,但 Eve2026-10-30|10|0|0
Netty:ChannelPipeline、ChannelHandler 与消息流转2026-10-302026-10-30技术Netty一、核心概念 Channel:一条网络连接或 IO 通道。 ChannelPipeline:每个 Channel 拥有自己的 Handler 处理链。 ChannelHandler:真正处理网络事件、编解码和业务逻辑。 ChannelHandlerContext(ctx):Handler 在 Pip2026-10-30|8|0|0
Netty:Reactor 线程模型、EventLoop 与 Channel2026-10-302026-10-30技术Netty一、Reactor 是什么 Reactor 是一种事件驱动网络处理模式:使用 IO 多路复用等待就绪事件,然后将事件分发给相应处理逻辑。它的核心不是“所有代码都异步”,而是 IO 等待与事件处理分离,少量线程可管理很多连接。 三种典型模型2026-10-30|9|0|0
Netty:BIO、NIO 与 IO 多路复用底层原理2026-10-302026-10-30技术Netty一、Netty 是什么 Netty 是基于事件驱动的异步网络应用框架,常用 Java NIO 传输,也支持特定操作系统的原生传输。它封装了网络线程管理、Channel、事件传播、编解码和连接管理等通用能力。 适用:TCP 长连接、物联网设备接入、即时通讯、游戏服务、RPC 等。 与 Spring B2026-10-30|10|0|0
ChannelPipeline 与 Handler 事件传播机制2026-10-302026-10-30技术易混淆概念/Netty一、ChannelPipeline 是什么? ChannelPipeline 是 Netty 中负责管理多个 ChannelHandler 的处理链。 每个 Channel 都有自己的 Pipeline。 Pipeline 主要负责: 消息拆包、粘包处理。 字节数据的编码和解码。 业务逻辑处理。 连2026-10-30|9|0|0
ByteBuffer 2026-10-302026-10-30技术Netty/易混淆概念一、ByteBuffer 是什么? ByteBuffer 是 Java NIO 提供的字节缓冲区,通常配合 Channel 进行网络数据读写,属于 Java 8 自带的 java.nio 包。 二、ByteBuffer 五个常用方法2026-10-30|8|0|0