0%

ByteBuf 是对 JDK 提供的 java.nio.ByteBuffer 的进一步封装,提供了许多更加方便使用的功能,封装了操作 ByteBuffer 的复杂度。本文介绍 ByteBuf 的工作原理以及其部分实现类的源码分析,并对一些 ByteBuf 的辅助类也进行了简要介绍。

Read more »

由于 Netty 消息通知都采用了异步的方式,因此需要引入 Future-Listener 机制,通过观察者模式将消息返还给结果验证方进行下一步事件的触发。

Read more »

Netty 的 ChannelPipeline 和 ChannelHandler 机制类似于 Servlet 和 Filter 过滤器,这类拦截器实际上是职责链模式的一种变形,主要是为了方便事件的拦截和用户业务逻辑的定制。

Read more »

Netty 封装了 JDK NIO 类库复杂而庞大的通信底层细节,使用户不再和 NIO 的 Selector、ServerSocketChannel、SocketChannel、ByteBuffer、SelectionKey 等组件打交道。而对于 Netty 来说,用户可以直接通过 ServerBootstrap(服务端启动辅助类)和 Bootstrap(客户端启动辅助类)来创建一个可通信的 C/S 端。 这无疑大大减轻了工作量、降低了开发难度。

Read more »

网络应用程序框架,高性能之处主要来自于其 I/O 模型和线程处理模型,前者决定如何收发数据,后者决定如何处理数据。根据 UNIX 网络编程的 I/O 模型的分类,UNIX 提供了五种 I/O 模型:阻塞式 I/O 模型(blocking I/O)、非阻塞式 I/O 模型(non-blocking I/O)、I/O 复用模型(I/O multiplexing)、信号驱动式 I/O 模型(signal-driven I/O)、异步 I/O 模型(asynchronous I/O)

Read more »