Java提供了哪些IO方式?

本文介绍了Java中不同类型的IO方式,包括BIO、伪异步IO、NIO,强调了同步、异步、阻塞和非阻塞的概念,并分析了它们在不同场景下的效率和扩展性。BIO适用于连接数较少的情况,而NIO通过缓冲区、通道和多路复用器提高扩展性,尤其适合高并发场景。
摘要由CSDN通过智能技术生成

首先,需要理解一些基本概念:

区分同步和异步:

       简单来说,同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,当其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系。

区分阻塞和非阻塞:

       在进行阻塞操作时,当前线程会处于阻塞状态,无法从事其他任务,只有当条件就绪才能继续,比如 ServerSocket 新连接建立完毕,或数据读取、写入操作完成;而非阻塞则是不管 IO操作是否结束,直接返回,相应操作在后台继续处理。

不能一概而论认为同步或阻塞就是低效,具体还要看应用和系统特征。

 

java中的IO:BIO、伪异步IO、AIO、NIO

BIO(同步阻塞io):一个线程负责连接 、一请求一应答、缺乏弹性伸缩能力(线程数增加后系统性能极具下降);

 

伪异步IO(同步阻塞io):线程池负责连接、M请求N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值