Returns the offset within this buffer’s backing array of the first element of the buffer (optional operation).

我无法弄清楚如何让arrayOffset()返回非零值.有谁知道如何更改调用ByteBuffer.arrayOffset()方法的结果?

解决方法:

我刚刚尝试过这个,看起来基类的偏移量总是为零:

java.nio.ByteBuffer bb = java.nio.ByteBuffer.wrap("The dog chased the cat".getBytes());

System.out.println("offset test: " + bb.arrayOffset());

bb.putChar(5, 'Z');

System.out.println("offset test: " + bb.arrayOffset());

bb.getChar(5);

System.out.println("offset test: " + bb.arrayOffset());

请注意,java.nio.ByteBuffer是一个抽象类,我使用静态wrap方法创建类java.nio.HeapByteBuffer的实例(文档在这里http://www.docjar.org/docs/api/java/nio/HeapByteBuffer.html)

ByteBuffer的文档说arrayOffset的实现是可选的,非实现者的默认值可能总是为零.

如有疑问,请获取Java标准库的源代码,以便在IntelliJ或Eclipse等IDE中进行浏览.

标签:java,buffer,nio

来源: https://codeday.me/bug/20190830/1769812.html

java bufferarray_如何使用Java的ByteBuffer.arrayOffset()方法相关推荐

  1. Java NIO学习笔记之图解ByteBuffer

    转载自 Java NIO学习笔记之图解ByteBuffer ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰. <程序员的思维修炼>一本书讲过,主动学习,要 ...

  2. Java .Net Byte数组存储差异以及解决方法

    最近在Java与.Net服务Bytes数据交互碰到一个问题:.Net IntToBytes结果和Java IntToBytes结果是反序的,查了一下发现:Java stores things inte ...

  3. hprose for java 教程_hprose for java源码分析-4

    4.1 疑窦丛生 书接上回.上回说到, 从HproseClient.java ------------------------- (#0) invokeHandler.handle()开始,将经历一个 ...

  4. 《Java编程思想》Java I/O系统章节阅读笔记

    今天正好要写个小程序需要用到io操作,突然想起来java有个nio一直没用过,就找了点资料研究了一下,顺便做点笔记,以便日后查阅. ---------------------------------- ...

  5. import java文件,java 文件夹操作,java文件夹,import java.

    java 文件夹操作,java文件夹,import java.import java.io.File; import java.io.FileInputStream; import java.io.F ...

  6. java复习系列[4] - Java IO

    文章目录 Java IO IO传输 IO读写流程 IO类型 IO的访问方式 缓存IO(标准IO.传统IO) 直接IO 内存映射 总结 Java中IO与NIO的区别 Java NIO 流与缓冲 管道 为 ...

  7. java复习系列[3] - Java虚拟机

    文章目录 Java虚拟机 JRE 和 JDK 整体工作原理 类加载 class文件结构 类加载过程 双亲委派机制 运行时内存区域 整体划分 PC (Program Counter) JVM栈 局部变量 ...

  8. java复习系列[2] - Java多线程

    文章目录 JUC thread 线程状态 sleep() 与 wait() 的异同点 wait() 与 阻塞 的异同点 Some Question !!! 有了**sleep()**为什么还要有**w ...

  9. 理解Java heap内存和Java direct内存

    Java Heap内存 Java应用运行在Java运行环境(JVM),Java heap内存是JVM为java应用分配的内存.JVM被设计就是为了从机器上隔离应用.通常讨论Java内存,就是指Java ...

最新文章

  1. win7 64 安装scikit-learn
  2. 浏览器HTTP缓存机制
  3. Jenkins结合.net平台工具之Nunit
  4. Linux下安装MongoDB3.2.5(自测)
  5. 缓存一致性协议MESI
  6. 里程碑!中文版.NET官网发布,.NET开发起飞!
  7. [机器学习-Sklearn]函数sklearn.feature_extraction.DictVectorizer理解与总结
  8. [Vue.js] 基础 -- Vue常用特性
  9. 【了解链表的适用场景;掌握单向链表、双向链表的使用】(学习笔记18--链表)
  10. 有道口语大师APP评测:语音识别准确度低
  11. 分布式服务的幂等性设计,值得学习!
  12. Zoople HTML 编辑器组件 for NET
  13. ROS里程计的学习(odometry) (二)
  14. 计算机重复文件的快捷键是,excel重复上一个操作的快捷键是什么
  15. 计算机内存占用过高,内存,教您电脑内存占用高怎么办
  16. 公众号数据全面分析解读(上篇)
  17. Excel-VBA:文本转换数字
  18. python在手机使用webdriver.chromns_Selenium +Chrome浏览器如何模拟手机操作
  19. 基本ACL和高级ACL
  20. 解决jupyter notebook无法跳转浏览器

热门文章

  1. git回退历史记录总结
  2. oracle left join优化
  3. 【6】青龙面板系列教程之xdd-plus与nolanjdc的对接
  4. Juniper EX3400 Rescue configuration is not set
  5. Linux下的at定时执行任务命令详解
  6. php开发 linux作用是什么,linux有什么用?
  7. if语句输入月份判断季节_C语言循环及条件语句
  8. slope one 推荐算法python 代码_java和python实现一个加权SlopeOne推荐算法
  9. java io使用哪些设计模式_JAVA IO中的设计模式
  10. 0宽字符加密_前端AES加密方式分析,及其python实现