NIOByteBuffer
-
// Invariants: mark <= position <= limit <= capacity
-
private int mark = -1;
-
private int position = 0;
-
private int limit;
-
private int capacity;
从源码中可以看出,ByteBuffer的几个实例变量。我们稍后会详细解析这几个变量的意义。
在我们刚创建ByteBuffer的时候
ByteBuffer buffer = ByteBuffer.allocate(10);
其几个变量的值为
Position = 0,limit = Capactiy = 9 .为最大的值-1
在写模式下,我们写入a,b,c,d值后。position 是下一个写入位置,limit 等于容量,下图表示写入了 4 个字节后的状态。
当flip 动作发生后,position 切换为读取位置,limit 切换为读取限制
读取 4 个字节后,各个值的状态为
clear 动作发生后,又变为写模式
compact 方法,是把未读完的部分向前压缩,然后切换至写模式
好了,到此为止,我们讲了Bytebuffer的基本使用方法。
因此在使用Bytebuffer时候
【第一步】进行写入。
【第二步】通过flip切换读命令
【第三步】通过clear或者compact再次进行写命令。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibheai
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22