java IO和NIO的场景选择

本文探讨了传统面向流的IO与面向缓冲的NIO之间的区别,详细介绍了各自适用的应用场景。对于文件数量较多但大小适中,且程序同时处理的文件(网络连接)较少的情况,推荐使用简单的IO方式;而对于需要同时处理大量IO连接的场合,则更适合采用更为复杂的NIO。

就使用上来说,传统的面向流的IO更简单,而面向缓冲(块)的NIO更复杂,因为可调整空间大,接口的概念性也更加低层(原生)些。

下面说说使用场景:

IO的场景:

1.文件可能很多,但是size并不是那么大,可以一次性读入内存。

2.在同一时刻程序读写文件(网络连接)的数量不多,一个时刻只使用一个流。

3.应用是有序的(阻塞)的,也就是说,你的程序在直到读写文件完毕的时候,也不需要做太多额外的工作,没事儿,让线程等待(阻塞)一会儿,又如何。

 

NIO的场景:

1.应用需要同时处理成百上千的IO连接。

转载于:https://www.cnblogs.com/foohack/p/5364109.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值