千家信息网

Netty支持什么I/O模式

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"Netty支持什么I/O模式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Netty支持什么I/O模式"吧!1 经典I/O模式BIO (
千家信息网最后更新 2026年11月01日Netty支持什么I/O模式

本篇内容主要讲解"Netty支持什么I/O模式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Netty支持什么I/O模式"吧!

1 经典I/O模式

BIO (阻塞I/O)JDK1.4前
NIO (非阻塞 I/O)JDK1.4 (2002 年,java.nio 包)
AIO(异步 I/O)JDK1.7 (2011 年)

1.2 对比概念

阻塞与非阻塞

数据就绪前要不要等待?

  • 阻塞

没有数据传过来时,读会阻塞直到有数据;缓冲区满时,写操作也会阻塞

  • 非阻塞

直接返回

同步与异步

数据就绪后,数据操作谁完成?

  • 需要自己去读是同步

  • 数据就绪直接读好再回调给程序是异步

2 Netty 对三种 IO 的支持变迁

划线的已不再支持了哦!

为什么废除阻塞I/0 (BIO/OIO) ?

连接数高的情况下:阻塞 -> 耗资源、效率低。

阻塞意味着等待,等待就会一直占用该线程,当连接数高时,大多线程又在等待,就会耗尽系统的线程资源。

为什么删掉已经做好的AIO支持?

  • Windows实现成熟,但其很少用做服务器

  • Linux常用做服务器,但其AlO实现不够成熟

  • Linux下AIO相比较NIO的性能提升不明显

所以 netty 也是联系实际情况才有选择地支持高性能的 IO 模式。

为什么 Netty 支持多种实现?

通用NIO实现(Common)在Linux下也是epoll,但Netty依旧选择自己实现,因为更好:

Netty提供更多可控参数:

  • JDK的NIO默认实现是水平触发

  • Netty 是边缘触发(默认)和水平触发,且可切换

Netty实现的垃圾回收更少、性能更好

NIO 一定优于 BIO?

BIO 代码简单且在特定场景:连接数少,并发度低,BIO 性能不输NIO。当然考虑业务发展后期都是复杂场景了,所以 Netty 只考虑 NIO。

到此,相信大家对"Netty支持什么I/O模式"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阻塞 支持 模式 数据 性能 线程 成熟 内容 场景 实际 情况 更多 服务器 水平 同步 学习 服务 选择 复杂 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技平台互联网 关于新基建和互联网科技 善班互联网科技 互联网与未来科技 顺玮阁互联网科技 成都狮子座互联网科技 重庆科技学院互联网 顺网科技2021年互联网排名 剑昆互联网络科技有限公司临桂 北京华百购互联网科技有限公司 茂名市互联网科技产业园 武汉健翔互联网络科技有限公司 花神(南京)互联网科技有限公司 互联网公司黑科技创始人 互联网科技公司营业执照怎么办理 滨湖区互联网智能科技产品有哪些 美国互联网科技公司 35岁以上互联网科技行业 互联网金融运营模式中的金融科技 伍佰万互联网科技是干嘛的 咖啡网 喔噻互联网科技有限公司 互联网与科技发展 金融科技和互联网金融 互联网科技素材视频竖屏 中盈科技互联网信息有限公司 贵州叶脉互联网科技有限公司所属行业 互联网方面的科技前沿 广州梦谷互联网科技有限公司领导 国产互联网科技公司
0