当前位置: 首页 > news >正文

NIO--07--Java lO模型详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 何为 IO?
    • 先从计算机结构的角度来解读一下I/o.
    • 再从应用程序的角度来解读一下I/O
  • 阻塞/非阻塞/同步/异步IO
    • 阻塞IO
    • 非阻塞IO
    • 异步IO
    • 举例
  • Java中3种常见的IO模型
    • BIO (Blocking l/o)
    • NIO (Non-blocking/New lo)
    • I/O多路复用模型
    • AIO (Asynchronous l/o)
    • 小结


何为 IO?

l/o (Input/Outpu)即输入/输出

先从计算机结构的角度来解读一下I/o.

在这里插入图片描述

再从应用程序的角度来解读一下I/O

在这里插入图片描述

UNIX系统下,IO模型一共有5种:同步阻塞V/O、同步非阻塞V/O、I/O多路复用、信号驱动I/O和异步I/O。

阻塞/非阻塞/同步/异步IO

阻塞IO

在这里插入图片描述

非阻塞IO

在这里插入图片描述
在这里插入图片描述

异步IO

在这里插入图片描述

举例

在这里插入图片描述

Java中3种常见的IO模型

NIO–01–BIO,NIO,AIO简介

  • 同步阻塞的BIO
  • 同步非阻塞的NIO
  • 异步非阻塞的AIO

BIO (Blocking l/o)

在这里插入图片描述

NIO (Non-blocking/New lo)

在这里插入图片描述
在这里插入图片描述

I/O多路复用模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AIO (Asynchronous l/o)

在这里插入图片描述

小结

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/251321.html

相关文章:

  • OpenSSH 漏洞修复升级最新版本
  • 【数据结构和算法】无限集中的最小数字
  • SimpleDataFormat 非线程安全
  • SpringBoot : ch12 多模块配置YAML文件
  • TensorRT之LeNet5部署(onnx方式)
  • Xilinx FPGA平台DDR3设计详解(二):DDR SDRAM组成与工作过程
  • ios(swiftui) 属性包装器详解
  • 【智能家居】面向对象编程OOP和设计模式(工厂模式)
  • Docker安装Memcached+Python调用
  • 网页开发 HTML
  • SHAP(五):使用 XGBoost 进行人口普查收入分类
  • LeetCode 8 字符串转整数
  • 前缀和 LeetCode1423. 可获得的最大点数
  • 探索意义的深度:自然语言处理中的语义相似性
  • WT2605-24SS高品质录音语音芯片:实时输出、不保存本地,引领音频技术新潮流
  • Git 合并冲突解决步骤
  • Windows核心编程 注册表
  • 【算法专题】二分查找
  • 中国消费电子行业发展趋势及消费者需求洞察|徐礼昭
  • UE学习C++(1)创建actor
  • 【CTA认证】Android8实现android6以下的应用运行时也要申请权限
  • gRPC Java、Go、PHP使用例子
  • 前端知识笔记(十九)———px,em,rem,vw,vh之间的区别
  • docker部署frp穿透内网
  • 使用pytorch从零开始实现迷你GPT
  • tp6框架 万级数据入库 php函数优化
  • TwinCAT3一个PLC设备里多个程序工程之间通讯
  • python弹球小游戏
  • mongoose学习记录
  • 边缘与云或边缘加云:前进的方向是什么?