Java面试:BIO,NIO,AIO 的区别,别再傻傻分不清楚

本文介绍了Java中的三种IO模型:BIO、NIO和AIO。BIO是传统的阻塞IO,数据经过多次拷贝。NIO是非阻塞IO,减少了数据拷贝。AIO则是异步IO,进一步减少了数据处理的步骤。对于Java开发者来说,理解这些概念在面试和实际开发中非常重要。
摘要由CSDN通过智能技术生成

 

既然你能看到这,说明你有一定的Java基础了,不然咋面试呢?

同步&异步, 阻塞&非阻塞 基本了解

  • 同步(阻塞): 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。
  • 异步(非阻塞): 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果

BIO: (Blocking I/O) - 阻塞IO

也叫传统IO

 

1) 先将文件内容从磁盘中拷贝到操作系统buffer

2) 再从操作系统buffer 拷贝到 程序应用(应用层)buffer

3) 从程序buffer拷贝到socket buffer

4) 从socket buffer拷贝到协议引擎.

传统IO慢的原因是因为,数据捣腾过好几遍,才走到socket中

NIO (New I/O) - 非阻塞IO

nio 是New IO 的简称,在jdk1.4 里提供的新api 。Sun 官方标榜的特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值