当前位置: 首页 > article >正文

《Netty》从零开始学netty源码(十七)之AbstractUnsafe

NioServerSocketChannel的父类AbstractChannel调用newUnsafe方法创建AbstractNioUnsafenewUnsafe直接调用NioMessageUnsafe的无参构造函数创建实例,该构造函数是java默认的构造函数,过程如下:
在这里插入图片描述

NioMessageUnsafe的结构图如下:
在这里插入图片描述

NioMessageUnsafe的父类和接口都是Channel相应的内部类,其承担着channel网络相关的功能,比如读操作、写操作等。NioMessageUnsafe的参数如下:
在这里插入图片描述

NioMessageUnsafe进行读操作时会把数据读取到readBuf,当进行写操作时会把数据写到outboundBuffer,当进行flush操作时会把outboundBuffer的数据写到TCP的缓冲区,即发送数据。

NioMessageUnsafe的功能如下:
在这里插入图片描述

因为unsafe类在netty中算是比较底层的类,下一节开始我们开始分析它的方法。


http://www.kler.cn/a/4759.html

相关文章:

  • 前端开发:form中的标签
  • 基于STM32的智能家居蓝牙系统(论文+源码)
  • electron 启动警告
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • Flutter 实现验证码输入框学习
  • 实用操作系统学习笔记
  • 2023年湖北省建筑八大员(建设厅七大员)报考流程和拿证流程来咯!
  • 【redis】redis淘汰策略
  • 推荐一款自动生成财务报表分析的软件
  • 中介变量、调节变量与协变量
  • 人事文件签署单调、重复、繁重?君子签电子合同提升HR工作质效
  • Ajax:服务器的基本概念与初识Ajax
  • [水]与ChatGPT谈Java
  • 怎么将pdf压缩?pdf文件如何压缩?
  • 文心一言发布前一天,GPT-4震撼发布
  • 即时零售:不可逆的进化
  • 【WEB前端进阶之路】 HTML 全路线学习知识点梳理(下)
  • Air700E开发板|移芯EC618|4G Cat.1模组:概述及PinOut
  • vue3+SpringBoot+postgresql 项目前后端传参
  • 【为什么要用线程池】
  • Java 接口过滤为null 的字段
  • 19. 添加异步日志——3.继续完善
  • 限流的几种方案
  • Windows Server 2016 中文版、英文版下载 (updated Mar 2023)
  • 面向行业无线追踪技术解决方案:室内无线动态追踪
  • 我问了ChatGPT几个思维实验,想看看它有没有意识