1.Netty介绍及NIO三大组件

  1. Netty网络编程
  2. Netty的底层是NIO(非阻塞IO),常用的多线程和线程池使用的是阻塞IO,其效率并不高。
  3. 支持高并发,性能好
  4. 高性能的服务端程序、客户端程序

NIO三大组件

一、Channel

读写数据的双向传输通道

常见的传输通道

  • FIleChannel 文件传输通道
  • DatagramChannel UDP数据传输通道
  • SocketChannel TCP数据传输通道,专用于服务器、客户端
  • ServerSocketChannel TCP数据传输通道,专用于服务器

二、Buffer

内存缓冲区,用来暂存从channel中读取的数据,也可以将channel中的数据写入Buffer。

常用的Buffer

ByteBuffer,以字节的形式,抽象类:

  • MappedByteBuffer
  • DirectByteBuffer
  • HeapByteBuffer

三、Selector

  • Selector配合一个线程来管理多个Channel;
  • 获得这些Channel上发生的事件 (可连接,可读,可写);
  • Channel工作在非阻塞模式下,不会让线程吊死在一个Channel上;
  • 适合连接数多,但流量低的场景
相关推荐
livemetee33 分钟前
【关于Spring声明式事务】
java·后端·spring
倒流时光三十年36 分钟前
Java 内存模型(JMM)通俗解释
java·开发语言
码兄科技1 小时前
Java AI智能体开发实战:从零构建企业级智能应用指南
java·开发语言·人工智能
2401_859506241 小时前
AIGC赋能大漆摆件设计:从痛点分析到技术架构与实战验证
java·大数据·人工智能
剑挑星河月1 小时前
54.螺旋矩阵
java·算法·leetcode·矩阵
Lhappy嘻嘻2 小时前
Java 并发编程(六)|并发进阶高频:CAS、锁升级
java·开发语言
要开心吖ZSH2 小时前
MVCC 进阶:快照读 vs 当前读、幻读与 Next-Key Lock
java·数据库·sql·mysql·mvcc
京韵养生记2 小时前
【无标题】
java·服务器·前端
小强库计算机毕业设计2 小时前
源码分享Spring Boot + Vue3 的校园社团管理系统
java·spring boot·后端·计算机毕业设计
格子软件3 小时前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue