NIO - Buffer、Channel

Netty: 基于异步、事件、网络框架

IO模型 : BIO (Blocking IO)、NIO(No Blocking IO - 同步非阻塞)、AIO(异步非阻塞IO)

BIO 实例:todo

NIO 三大组建: Buffer、Channel、Selector
在这里插入图片描述

Buffer中的重要属性: position、limit、capacity
position表示下一个读取的位置,初始化为0
limit:读和写的最大位置,默认=capacity
capacity:容器最大值
flip(): 切换读写( limit = position; position = 0)

Channel:
在这里插入图片描述
FileChannel/ServerSocketChanel
实例一: 本地文件写

实例二: 本地文件读
在这里插入图片描述实例三: 拷贝一个文件,只使用一个buffer
在这里插入图片描述在这里插入图片描述
实例四:利用TransferFrom方法拷贝
在这里插入图片描述实例五: 利用MappedByteBuffer在内存中(堆外)修改,操作系统不用拷贝

在这里插入图片描述实例六: 利用Scattering批量写入和Gattering批量读取
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值