NIO和AIO

作者: 778bc750a218 | 来源:发表于2019-10-08 17:41 被阅读0次

NIO (New I/O)

基于块(Block),以块未基本单位处理数据

原始类型提供Buffer支持

增加通道

支持锁和文件映射的文件访问接口

基于Selector的异步网络I/O

ByteBuffer byteBuffer=ByteBuffer.allocate(1024);

FileInputStream in=new FileInputStream("");

FileChannel readChannel=in.getChannel();

readChannel.read(byteBuffer);

Buffer

3个重要参数

位置(position) 

//read:从当前位置的下一个位置写数据

//write:从此位置狗读取数据

 容量(capactiy) //总容量上线

上限(limit)//代表实际使用容量

方法:

Buffer rewid() // postion清零,清除标志位mark

Buffer clear() // postion清零 ,limit设为capactiy,清除标志位mark

Buffer flip() //将limit设置到position的位置,然后postion清零,清除标志位,用于读写转换

文件映射到内存

RandomAccessFile fas=new RandomAccessFile("","rw");

readChannel= fas.getChannel();

MappedByteBuffer mbb= readChannel.map(FileChannel.MapMode.READ_WRITE,0,fas.length());

//RandomAccessFile随机访问文件(“随心所欲”地访问一个文件的某个部分)

Selector选择器

https://www.cnblogs.com/snailclimb/p/9086334.html

AIO

使用回调函数进行业务处理

    

相关文章

  • 网络/IO基础

    一、BIO、NIO、AIO的概念 BIO,NIO,AIO的理解1BIO,NIO,AIO的理解2概念解释一个IO操作...

  • BIO,NIO,AIO 总结

    BIO,NIO,AIO 总结 Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 ...

  • BIO,NIO,AIO 总结

    BIO,NIO,AIO 总结 Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 ...

  • IO/NIO/AIO & Netty

    IO/NIO/AIO 的区别: IO和NIO 又称为Blocking IO 和 No Blocking IO 即为...

  • 大厂面试系列(二)::NIO和Netty

    NIO和Netty面试题 NIO 阐述 NIO原理? BIO/NIO/AIO有什么区别?有那些实现? 讲讲NIO的...

  • 大厂面试系列(二)::NIO和Netty

    NIO和Netty面试题 NIO 阐述 NIO原理? BIO/NIO/AIO有什么区别?有那些实现? 讲讲NIO的...

  • NIO和AIO

    1. 什么是NIO NIO是New I/O的简称,与旧式的基于流的I/O方法相对,从名字看,它表示新的一套Java...

  • NIO和AIO

    NIO (New I/O) 基于块(Block),以块未基本单位处理数据 原始类型提供Buffer支持 增加通道 ...

  • NIO教程 ——检视阅读(上)

    NIO教程 ——检视阅读 参考 BIO,NIO,AIO 总结 Java NIO浅析 Java NIO 教程——极客...

  • NIO 之 Channel实现原理

    相关文章 IO、NIO、AIO 内部原理分析NIO 之 Selector实现原理NIO 之 ByteBuffer实...

网友评论

      本文标题:NIO和AIO

      本文链接:https://www.haomeiwen.com/subject/rwnbpctx.html