![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 90
非常之观常在险远
这个作者很懒,什么都没留下…
展开
-
Netty指南(8):Netty的TCP粘包和拆包解决方案
一、Netty编解码器与Handler调用机制1.1 基本说明Netty 的组件设计:Netty 的主要组件有 Channel、EventLoop、ChannelFuture、ChannelHandler、ChannelPipe 等ChannelHandler 充当了处理入站和出站数据的应用程序逻辑的容器。例如,实现 ChannelInboundHandler 接口(或 ChannelInboundHandlerAdapter),你就可以接收入站事件和数据,这些数据会被业务逻辑处理。当要给客户端发送原创 2022-05-06 00:44:58 · 679 阅读 · 1 评论 -
Netty指南(7):Google protobuf 基本介绍
一、Google protobuf1.1 编码和解码的基本介绍编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码[示意图]codec(编解码器)的组成部分有两个:decoder(解码器)和 encoder(编码器)。encoder 负责把业务数据转换成字节码数据,decoder 负责把字节码数据转换成业务数据1.2 Netty 本身的编码解码的机制和问题分析Netty 自身提供了一些 codec(编解码器)Netty 提供的编码器原创 2022-05-06 00:32:08 · 487 阅读 · 0 评论 -
Netty指南(6):Netty核心模块组件简介
一、Netty核心模块组件1.1 Bootstrap、ServerBootstrapBootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 是服务端启动引导类。常见的方法有public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup原创 2022-05-06 00:28:50 · 280 阅读 · 0 评论 -
Netty指南(5):Netty高性能架构设计之Reactor线程模型
一、Netty高性能架构设计1.1 线程模型基本介绍不同的线程模式,对程序的性能有很大影响,为了搞清 Netty 线程模式,我们来系统的讲解下各个线程模式,最后看看 Netty 线程模型有什么优越性。目前存在的线程模型有:传统阻塞 I/O 服务模型 Reactor 模式根据 Reactor 的数量和处理资源池线程的数量不同,有 3 种典型的实现单 Reactor 单线程;单 Reactor多线程;主从 Reactor多线程Netty 线程模式(Netty 主要基于主从 Reactor 多线程模型原创 2022-05-06 00:20:22 · 345 阅读 · 0 评论 -
Netty指南(4):理解NIO与零拷贝原理
1 NIO 与零拷贝1.1 零拷贝基本介绍零拷贝是网络编程的关键,很多性能优化都离不开。在 Java 程序中,常用的零拷贝有 mmap(内存映射)和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?我们分析 mmap 和 sendFile 这两个零拷贝另外我们看下 NIO 中如何使用零拷贝1.2 传统 IO 数据读写Java 传统 IO 和网络编程的一段代码File file = new File("test.txt");RandomAccessFile raf =原创 2022-05-06 00:00:09 · 198 阅读 · 0 评论 -
Netty指南(3):深入理解Java NIO编程
一、Java NIO编程1.1 Java NIO 基本介绍同步异步阻塞非阻塞可参考IO 与 NIOJava NIO 全称 Java non-blocking IO ,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 NewIO),是同步非阻塞的。NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。【基本案例】NIO 有三大核心部分: Channel(通道)、Buffer(原创 2022-05-05 23:53:13 · 348 阅读 · 0 评论 -
Netty指南(2):Java BIO模型工作机制
二、Java BIO编程2.1 I/O 模型2.1.1 模型基本说明I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。Java 共支持 3 种网络编程模型 I/O 模式:BIO、NIO、AIO。Java BIO:同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。【简单示意图】Java NIO:同步非阻塞,服务器实现模式为一个线程处原创 2022-05-05 23:09:17 · 146 阅读 · 0 评论 -
Netty指南(1):Netty简介
一、Netty介绍与应用场景1.1 Netty 的介绍Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。Netty 主要针对在 TCP 协议下,面向 Client 端的高并发应用,或者 Peer-to-Peer 场景下的大量数据持续传输的应用。Netty 本质是一个 NIO 框架,适用于服务器通讯相关的多种应用场景。要透彻理解 Netty,需要先学原创 2022-05-05 22:50:17 · 228 阅读 · 0 评论