netty之IO演进之路
2024-10-07 04:52:03
常见IO类型:
- 传统的同步阻塞I/O编程<BIO>
- 基于NIO的非阻塞编程
- 基于NIO2.0的异步非阻塞AIO编程
BIO缺点:
- 没有数据缓冲区,I/O性能存在问题
- 没有Channel概念,只有输入流和输出流
- 同步阻I/O通信,导致线程的长时间等待, 浪费资源
- 支持的字符集有限,硬件移植性不好。
NIO优点:
- 进行异步IO操作的缓冲区ByteBuffer。
- 进行异步IO操作的管道Pipe
- 进行各种IO操作的Channel。
- 支持多种字符集的编码和解码能力
- 基于Per实现正则表达式类库
- 文件通道FileChannel
NIO缺点:
- 没有统一的文件属性
- API能力较弱,
- 底层存储系统的高级API无法使用
- 所有发的文件操作都是同步阻塞调用,不支持异步文件读写操作
AIO基于NIO的改进:
- 提供批量处理文件的API
- 提供标准的文件SPI等
最新文章
- asp.net开发中遇到的奇葩bug及解决办法(会持续更新。。。)
- openxml(二) 添加页眉,页脚
- My安卓知识4--Media Player called in state 0
- Parallel Computing–Cannon算法 (MPI 实现)
- AESUtils.java
- systemctl命令
- LeetCode Subsets (DFS)
- 搭建高性能计算环境(四)、应用软件的安装之VASP
- Webbrowser判断页面加载完成
- Ubuntu开启ApacheRewrite功能
- MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数
- python全栈开发 * 34知识点汇总 * 180719
- webstorm 配置 开发微信小程序
- DateUtils时间单元说明
- (一)在 Blend 中绘制形状和路径
- 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法
- Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 暴力并查集
- Eclipse中配置Maven build打包
- 文件 I/O 问题
- 移动端 html基值(转载)