java nio 概述

因为java io是阻塞式的,所以并发性中多进程消耗比较大,所以有了nio,传统式io用的是流读取,创建流,在流中顺序读取;nio是使用的channel(通道)  buffer(缓冲区)  selector (选择器) 作为核心组件,主要过程为首先使用使用RandomAccessFile来读取文件,然后创建channel,创建缓冲区,在缓冲区中读取数据,或者写入数据,都是通过channel来实现的,所以说channel是双向的,一个channel可以读也可以写,并且是非阻塞的;其中缓冲区有不同的类型,作为一个容器,就是一个固定大小的内存区,用来读写,从中有几个参数,position,limit capacity 等,来得到当前可读,写位置,容器大小等;selector是用来管理channel的,因为nio是非阻塞的,所以一个selector可以管理多个channel,首先创建selector,然后通过selector注册多个channel并且表明监听的动作,并在适当的时候进行触发;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值