首页 > 编程语言 >20230621 java.nio.Buffer

20230621 java.nio.Buffer

时间:2023-08-29 17:12:25浏览次数:50  
标签:java nio Buffer 读写 mark limit 读入 缓冲区 position

介绍

  • java.nio.Buffer

  • public abstract class Buffer

  • 缓冲区都具有

    • mark可选的标记,用于重复一个读入或写出操作,默认 -1
    • position读写位置,下一个值将在此进行读写,默认 0
    • limit界限,超过它进行读写是没有意义的
    • capacity容量,它永远不能改变

img

这些值满足下面的条件:

0 <= mark <= position <= limit <= capacity

API

  • mark

    • 可选的标记
  • position

    • 读写位置
  • limit

    • 界限
  • capacity

    • 容量
  • reset

    • 将这个缓冲区的位置设置到标记(mark),从而允许被标记的部分可以再次被读入或写出,返回 this
    • 配合 mark 使用,如果没有设置 mark 会发生异常
  • clear

    • 通过将位置复位到 0 ,并将界限设置到容量,使这个缓冲区为写出做好准备。返回 this
  • flip

    • 将界限(limit)设置到位置(position),并将位置(position)复位到 0
    • mark 重置
    • 使这个缓冲区为读入做好准备
    • 翻转
  • rewind

    • 将读写位置(position)复位到 0 ,并保持界限(limit)不变
    • mark 重置
    • 使这个缓冲区为重新读入相同的值做好准备
    • 重读
  • remaining

    • 返回剩余可读入或可写出的值的数量
    • 即界限(limit)与位置(position)之间的差异
  • hasRemaining

  • isReadOnly

  • hasArray

  • array

  • arrayOffset

  • isDirect

    • 是否直接使用本地内存,而不是通过 JVM 堆空间
  • slice

  • duplicate

标签:java,nio,Buffer,读写,mark,limit,读入,缓冲区,position
From: https://www.cnblogs.com/huangwenjie/p/17650384.html

相关文章

  • 20230517 java.nio.file.Path
    介绍java.nio.file.PathpublicinterfacePathextendsComparable<Path>,Iterable<Path>,Watchable不推荐使用Paths工具类,相关方法在Path接口中都有静态方法代表系统相关的文件路径,可用于在文件系统中定位文件表示分层路径此接口的实现是不可变的,线程安全经常和Fi......
  • 20230626 java.util.regex.Pattern
    介绍java.util.regex.PatternpublicfinalclassPatternimplementsjava.io.Serializable正则表达式的编译表示API常量flagUNIX_LINES启用UNIX行模式在多行模式中匹配^和$时,只有\n被识别成行终止符CASE_INSENSITIVE不区分大小写匹配字符时忽略字母的......
  • 20230626 java.util.regex.Matcher
    介绍java.util.regex.MatcherpublicfinalclassMatcherimplementsMatchResult通过解释Pattern对字符序列执行匹配操作的引擎匹配器关联方法Pattern.matchesAPIstaticquoteReplacement转义所有\和$,避免使用replace方法时出现意外java.util.regex.Mat......
  • 20230621 java.io.Reader
    介绍java.io.ReaderpublicabstractclassReaderimplementsReadable,CloseableAPIreadabstractintread(char[]cbuf,intoff,intlen)throwsIOException;唯一的抽象方法intread()throwsIOExceptionintread(char[]cbuf)throwsIOExceptionintrea......
  • 20230621 java.io.OutputStream
    介绍java.io.OutputStreampublicabstractclassOutputStreamimplementsCloseable,FlushableFilterOutputStream是典型的装饰器设计模式,很多子类继承这个类,提供额外的功能protectedOutputStreamout;publicFilterOutputStream(OutputStreamout){this.out=ou......
  • 20230621 java.io.InputStream
    介绍java.io.InputStreampublicabstractclassInputStreamimplementsCloseableFilterInputStream是典型的装饰器设计模式,很多子类继承这个类,提供额外的功能protectedvolatileInputStreamin;protectedFilterInputStream(InputStreamin){this.in=in;}装......
  • Java-mybatis语法
    @Data@BuilderpublicclassICoverageDao{privateStringclassName;privateStringmethodName;privateStringcounterType;privateStringcounterMissed;privateStringcounterCovered;}Mapper添加语法privateSqlSessionTemplatetempl......
  • ArcGIS for javascript 加载天地图瓦片
    ArcGISforjavascript(4.27)加载天地图瓦片importMapfrom"@arcgis/core/Map";importMapViewfrom'@arcgis/core/views/MapView';importWebTileLayerfrom'@arcgis/core/layers/WebTileLayer';constvecLayer=newWebTileLayer('ht......
  • java基础(根据狂神总结)
    java基础(狂神)注释单行//多行/**/文档注释(可以加参数)/****/***@Descriptionhelloworld*@Authorcheems*/}数据类型类型基本数据类型数值类整数(查看最大字节大小,通过对应的类的源码看)byte占1个字节short2in......
  • Java中使用JTS对空间几何计算(读取WKT、距离、点在面内、长度、面积、相交等)
    场景基于GIS相关的集成系统,需要对空间数据做一些判断处理。比如读取WKT数据、点到点、点到线、点到面的距离,线的长度、面的面积、点是否在面内等处理。JTS(JavaTopologySuite)Java拓扑套件,是Java的处理地理数据的API。github地址:https://github.com/locationtech/jtsAPI......