Netty支持什么I/O模式

发布时间:2021-10-21 17:00:23 作者:iii
来源:亿速云 阅读:105

本篇内容主要讲解“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 的支持变迁

划线的已不再支持了哦!

Netty支持什么I/O模式

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

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

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

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

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

为什么 Netty 支持多种实现?

Netty支持什么I/O模式

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

Netty提供更多可控参数:

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

NIO 一定优于 BIO?

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

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

推荐阅读:
  1. Netty高性能是什么
  2. 怎么用 Netty 实现简单的 RPC

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

netty

上一篇:AWS密钥对丢失如何连接到Linux

下一篇:Linux环境变量设置/etc/profile、/etc/bashrc、~/.profile、~/.bashrc区别是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》