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

大同网站建设易企秀在线制作免费

大同网站建设,易企秀在线制作免费,建设网站的网页设计,单页设计风格【JavaGuide面试总结】Java IO篇1.有哪些常见的 IO 模型?2.Java 中 3 种常见 IO 模型BIO (Blocking I/O)NIO (Non-blocking/New I/O)AIO (Asynchronous I/O)1.有哪些常见的 IO 模型? UNIX 系统下, IO 模型一共有 5 种: 同步阻塞 I/O、同步非阻塞 I/O、…

【JavaGuide面试总结】Java IO篇

  • 1.有哪些常见的 IO 模型?
  • 2.Java 中 3 种常见 IO 模型
    • BIO (Blocking I/O)
    • NIO (Non-blocking/New I/O)
    • AIO (Asynchronous I/O)

1.有哪些常见的 IO 模型?

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


2.Java 中 3 种常见 IO 模型

BIO (Blocking I/O)

BIO 属于同步阻塞 IO 模型

同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间

图源:《深入拆解Tomcat & Jetty》

在客户端连接数量不高的情况下,是没问题的。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的。因此,我们需要一种更高效的 I/O 处理模型来应对更高的并发量。

NIO (Non-blocking/New I/O)

Java 中的 NIO 于 Java 1.4 中引入,对应 java.nio 包,提供了 Channel , SelectorBuffer 等抽象。NIO 中的 N 可以理解为 Non-blocking,不单纯是 New。它是支持面向缓冲的,基于通道的 I/O 操作方法。 对于高负载、高并发的(网络)应用,应使用 NIO 。

Java 中的 NIO 可以看作是 I/O 多路复用模型。也有很多人认为,Java 中的 NIO 属于同步非阻塞 IO 模型。

我们先来看看 同步非阻塞 IO 模型

图源:《深入拆解Tomcat & Jetty》

同步非阻塞 IO 模型中,应用程序会一直发起 read 调用,等待数据从内核空间拷贝到用户空间的这段时间里,线程依然是阻塞的,直到在内核把数据拷贝到用户空间。

相比于同步阻塞 IO 模型,同步非阻塞 IO 模型确实有了很大改进。通过轮询操作,避免了一直阻塞。

但是,这种 IO 模型同样存在问题:应用程序不断进行 I/O 系统调用轮询数据是否已经准备好的过程是十分消耗 CPU 资源的。

这个时候,I/O 多路复用模型 就上场了。

IO 多路复用模型中,线程首先发起 select 调用,询问内核数据是否准备就绪,等内核把数据准备好了,用户线程再发起 read 调用。read 调用的过程(数据从内核空间 -> 用户空间)还是阻塞的。

IO 多路复用模型,通过减少无效的系统调用,减少了对 CPU 资源的消耗🦌

Java 中的 NIO ,有一个非常重要的选择器 ( Selector ) 的概念,也可以被称为 多路复用器。通过它,只需要一个线程便可以管理多个客户端连接。当客户端数据到了之后,才会为其服务。

AIO (Asynchronous I/O)

AIO 也就是 NIO 2。Java 7 中引入了 NIO 的改进版 NIO 2,它是异步 IO 模型。

异步 IO 是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。

最后,来一张图,简单总结一下 Java 中的 BIO、NIO、AIO

http://www.dtcms.com/a/504638.html

相关文章:

  • 接口测试与接口自动化测试面试题+回答汇总
  • 大型网站的制作合肥网站建设优化学习
  • 学校做网站及费用wordpress侧边菜单栏
  • 【Java】内部类
  • 公司网站建设费用科目深圳建设工程质量协会网站
  • 怎样注册网站建立网页电商数据分析师
  • 玉雕网站建设全球可以做外贸的社交网站有哪些
  • linux 系统有哪些以及Ubuntu安装
  • 设备健康管理大数据平台:从数据治理到智能决策的全链路技术实现
  • 开发企业网站多少钱重庆建筑信息工程官网
  • Flutter 学习资源及视频
  • 建网站的方法wordpress新浪微博
  • 接口测试的流程
  • 给人做网站能赚钱吗网站试用模块
  • 深圳做营销网站的公司大型物流公司网站
  • AI 食用指南--更好的用AI编程
  • 红蓝眼睛谜题
  • 电子邮件协议
  • 做全网营销型网站建设智慧景区网站建设
  • 餐饮网站建设有什么好处哪个公司的app开发
  • 网站建设管理自查报告网站的色调
  • 金山词霸2024已经复活
  • 山东圣大建设集团网站温州网站优化定制
  • 劳保用品 技术支持 东莞网站建设wordpress留言板设计
  • 电子毕业设计代做网站可做分析图的地图网站
  • 兴宁网站建设设计装修平台有哪些
  • 一个朋友找我做网站该收多少钱档案网站建设网页
  • 搭建一个电商网站需要多少费用网站优化就是搜索引擎优化
  • 微商城网站建设新闻怎么做扒代码网站
  • 商城网站设计定制小学学校网站建设情况