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

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

        

    相关文章

      网友评论

          本文标题:NIO和AIO

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