zoukankan      html  css  js  c++  java
  • 【学习笔记】Java NIO

    【学习笔记】Java NIO

    NIO                                                                                                                                                                    

    1 Buffer

    1.1 基本属性

    (1)capacity

      这个 Buffer 最多能放多少数据。 capacity 一般在 buffer 被创建的时候指定。

    (2)limit

      在 Buffer 上进行的读写操作都不能越过这个下标。当写数据到 buffer 中时, limit 一般和 capacity 相等,当读数据时, limit 代表 buffer 中有效数据的长度。

    (3)position

      读 / 写操作的当前下标。当使用 buffer 的相对位置进行读 / 写操作时,读 / 写会从这个下标进行,并在操作完成后, buffer 会更新下标的值。

    (4)mark

      一个临时存放的位置下标。调用 mark() 会将 mark 设为当前的 position 的值,以后调用 reset() 会将 position 属性设置为 mark 的值。 mark 的值总是小于等于 position 的值,如果将 position 的值设的比 mark 小,当前的 mark 值会被抛弃掉。

      这些属性总是满足以下条件:0 <= mark <= position <= limit <= capacity

    1.2 基本操作

      limit 和 position 的值除了通过 limit() 和 position() 函数来设置,也可以通过下面这些函数来改变:

    (1)clear()

      把 position 设为 0 ,把 limit 设为 capacity ,一般在把数据写入 Buffer 前调用

    (2)flip()

      把 limit 设为当前 position ,把 position 设为 0 ,一般在从 Buffer 读出数据前调用

    (3)rewind()

      把 position 设为 0 , limit 不变,一般在把数据重写入 Buffer 前调用

  • 相关阅读:
    Mysql子查询、关联查询
    Mysql 注意细节
    IE和FF区别关于css和js
    php 使用curl模拟登录人人(校内)网
    解析php mysql 事务处理回滚操作
    《Linux内核设计的艺术》学习笔记(二)INT 0x13中断
    《Linux内核设计的艺术》学习笔记(一)从开机加电到加载三个汇编源码
    CSS笔记(一)CSS规则
    HTML笔记(七)head相关元素<base> & <meta>
    HTML笔记(六)文档类型
  • 原文地址:https://www.cnblogs.com/onliny/p/2585152.html
Copyright © 2011-2022 走看看