![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 94
netty
RobotZero
这个作者很懒,什么都没留下…
展开
-
Netty优化与源码
四. 优化与源码1. 优化1.1 扩展序列化算法序列化,反序列化主要用在消息正文的转换上序列化时,需要将 Java 对象变为要传输的数据(可以是 byte[],或 json 等,最终都需要变成 byte[])反序列化时,需要将传入的正文数据还原成 Java 对象,便于处理目前的代码仅支持 Java 自带的序列化,反序列化机制,核心代码如下// 反序列化byte[] body = new byte[bodyLength];byteByf.readBytes(body);ObjectIn原创 2021-11-04 16:51:19 · 135 阅读 · 0 评论 -
Netty粘包与半包问题解析与处理
三. Netty 进阶1. 粘包与半包1.1 粘包现象服务端代码public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); NioEventLoopGroup worke原创 2021-11-04 16:45:50 · 251 阅读 · 0 评论 -
Netty基本概念模型解析
二. Netty 入门1. 概述1.1 Netty 是什么?Netty is an asynchronous event-driven network application frameworkfor rapid development of maintainable high performance protocol servers & clients.Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端1.2 Netty 的作者他原创 2021-11-04 16:41:03 · 178 阅读 · 0 评论 -
Netty三大组件详解
一. NIO 基础non-blocking io 非阻塞 IO1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层#mermaid-svg-RNTOTLUZLfzEDN15 .label{font-family:'trebuche原创 2021-11-04 16:34:06 · 553 阅读 · 0 评论 -
Netty面试专题及答案
1.BIO、NIO 和 AIO 的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步 IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的 I/O 请求都是由 OS 先完成了再通知服务器应用去启动线程进行处理,BIO 是面向流的,NIO 是面向缓冲区的;BIO 的各种原创 2021-09-10 17:13:10 · 144 阅读 · 0 评论