常见IO类型:

  • 传统的同步阻塞I/O编程<BIO>
  • 基于NIO的非阻塞编程
  • 基于NIO2.0的异步非阻塞AIO编程

BIO缺点:

  1. 没有数据缓冲区,I/O性能存在问题
  2. 没有Channel概念,只有输入流和输出流
  3. 同步阻I/O通信,导致线程的长时间等待, 浪费资源
  4. 支持的字符集有限,硬件移植性不好。

NIO优点:

  1. 进行异步IO操作的缓冲区ByteBuffer。
  2. 进行异步IO操作的管道Pipe
  3. 进行各种IO操作的Channel。
  4. 支持多种字符集的编码和解码能力
  5. 基于Per实现正则表达式类库
  6. 文件通道FileChannel

NIO缺点:

  1. 没有统一的文件属性
  2. API能力较弱,
  3. 底层存储系统的高级API无法使用
  4. 所有发的文件操作都是同步阻塞调用,不支持异步文件读写操作

AIO基于NIO的改进:

  1. 提供批量处理文件的API
  2. 提供标准的文件SPI等

最新文章

  1. asp.net开发中遇到的奇葩bug及解决办法(会持续更新。。。)
  2. openxml(二) 添加页眉,页脚
  3. My安卓知识4--Media Player called in state 0
  4. Parallel Computing–Cannon算法 (MPI 实现)
  5. AESUtils.java
  6. systemctl命令
  7. LeetCode Subsets (DFS)
  8. 搭建高性能计算环境(四)、应用软件的安装之VASP
  9. Webbrowser判断页面加载完成
  10. Ubuntu开启ApacheRewrite功能
  11. MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数
  12. python全栈开发 * 34知识点汇总 * 180719
  13. webstorm 配置 开发微信小程序
  14. DateUtils时间单元说明
  15. (一)在 Blend 中绘制形状和路径
  16. 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法
  17. Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 暴力并查集
  18. Eclipse中配置Maven build打包
  19. 文件 I/O 问题
  20. 移动端 html基值(转载)

热门文章

  1. nagios客户端安装监控
  2. MYSQL5.5二进制包的安装
  3. 90子集II
  4. 使用ssh-agent管理私钥
  5. The window object
  6. LeetCode.1037-有效的回旋镖(Valid Boomerang)
  7. python基础及安装
  8. HDU 1297 Children’s Queue (递推、大数相加)
  9. MySql数据库优化-汇总
  10. 几张图让你看懂WebAssembly