NIO中ByteBuffer

news2025/8/2 10:04:48
// 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再次进行写命令。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绿色积分消费时代来临,共享购跟随国家的号召

近年来&#xff0c;中国共享经济商业模式不断发展成熟。自2016年国家“十三五”规划纲要首次提出“共享经济”概念以来&#xff0c;中国政府不断助推共享经济发展。最新发布的《共享经济指导原则与基本框架》为共享经济作出定义&#xff1a;共享经济即“资源供给者通过平台与资…

IDEA配置Maven

1. IDEA配置Maven环境 先在IDEA中配置Maven环境&#xff1a; 选择 IDEA中 File --> Settings 搜索 maven 设置 IDEA 使用本地安装的 Maven&#xff0c;并修改配置文件路径 2. IDEA 创建 Maven项目 创建模块 创建模块&#xff0c;选择Maven&#xff0c;点击Next 填写模块名称…

你不知道的Spring的依赖的查找和注入的来源

1.写在前面 前面的博客我们已经介绍完了spring的依赖的查找和注入的方式&#xff0c;这篇博客我们主要介绍下spring的依赖的查找和注入的来源。 2.依赖查找的来源 查找来源 Spring 內建 BeanDefintion Spring 內建单例对象 上面的各种依赖都是在spring的生命周期的过程中&am…

干掉可恶的弹窗广告——windows系统

一、背景 许多国产软件为了生计&#xff0c;内嵌了无数广告。有些弹窗广告是可以在软件的设置里关闭的&#xff0c;但有些是流氓类型&#xff0c;无法设置。 1、有些是右下角弹窗&#xff0c;不提供关闭的设置&#xff08;能在图片上显示广告来源已经是比较良心了&#xff09…

金融机器学习:数据集划分与baseline模型

原创文章第115篇&#xff0c;专注“个人成长与财富自由、世界运作的逻辑&#xff0c; AI量化投资”。 在模型训练过程中&#xff0c;过拟合&#xff08;overfitting&#xff09;是非常常见的现象。所谓的overfitting&#xff0c;就是在训练集上表现很好&#xff0c;但是测试集…

学弟:功能测试转测试开发容易吗?

最近看到后台留言问&#xff1a;功能测试转测试开发容易吗&#xff1f; 从这个问题&#xff0c;我能读出一些信息如下&#xff1a; 不知道你从事测试工作多久了&#xff0c;可以看出您特别羡慕测试开发工程师&#xff1b;你可能一直从事功能测试工作&#xff0c;工作模式或大…

关于对 DeferWindowPos 的理解

DeferWindowPos 这个 API 的目标是&#xff1a;同一时间&#xff0c;移动多个子窗口。这在一定程度上减少了窗户移动时进行的重绘工作量。 修改我们之前的例子代码&#xff0c;如下图所示&#xff1a; >> 请移步至 topomel.com 查看图片 << 请注意&#xff0c;我…

基于蚁群算法的时延Petri网(ACOTPN)路径规划算法(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

ImmunoChemistry艾美捷抗体涂层缓冲液解决方案

使用ImmunoChemistry艾美捷ICT的抗体涂层缓冲液来节省试剂&#xff0c;增强特定信号&#xff0c;并延长涂层板的保质期。抗体涂层缓冲液最大限度地将抗体吸附到聚苯乙烯板上&#xff0c;并稳定抗体的三维结构以获得最佳性能。 ImmunoChemistry抗体涂层缓冲液&#xff0c;5X通过…

Debian11.5安装Podman并以多容器方式搭建LEMP环境

起因&#xff1a;之前在CentOS系统时代&#xff0c;写过一篇采用docker搭建LEMP环境的博客。现在时过境迁&#xff0c;CentOS系统&#xff0c;CoreOS系统&#xff0c;Docker&#xff0c;Podman管理工具的地位和应用&#xff0c;都有了极大变化&#xff0c;而我也转到了更为自由…

3d-face-reconstruction比较

摘要&#xff1a;比较近3年&#xff0c;6篇顶会3d-face-reconstruction重建效果。 1:Deep3D **发表时间:**2020 成就&#xff1a; 1&#xff09;在REALY和REALY (side-view)两个Benchmark上取得 State-of-the-art。 2&#xff09;官方github上成绩&#xff1a; 3DMM&#xf…

【学习笔记27】JavaScript字符串方法的练习

JavaScript字符串方法的练习一、统计字符串中每个字符出现的次数(以对象的形式记录)1、拿到字符串所有的值2、累加统计次数3、小优化二、反转字符串三、替换违禁词1、需求:将字符串中的6666, 替换为 "****"2、需求: 批量替换违禁词 [6666, 777]四、查询字符串1、模拟…

安全自动化企业网络架构 (毕设分享)

一、前言&#xff1a; 前段时间完成了自己的毕设项目——安全自动化企业网络架构。总的来说&#xff0c;该项目是一个对自己的挑战&#xff0c;其中涉及到Kubernetes容器云的搭建以及安全加固&#xff0c;DevOps CI/CD部署容器化监控平台&#xff0c;Django自动化运维平台开发…

CSS3------盒模型

盒模型 每个标签在浏览器上都被渲染成一个矩形个盒子&#xff0c;这个盒子有一个标准都组成结构&#xff0c;我们称为标准盒模型 盒模型构成 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta name&qu…

【MM小贴士】物料主数据的中止与后继(2)

【日常吐槽】项目要上线了&#xff0c;70w的物料主数据导完了&#xff0c;有一部分小伙伴被隔离了&#xff0c;没人陪我玩&#xff0c;所以再补充几点日常blog。 很久以前发票了一篇博客&#xff0c;是关于物料主数据的中止与后继&#xff0c; 前期的blog可以参考【MM小贴士】…

Euler diagram

An Euler diagram (/ˈɔɪlər/, OY-lər) is a diagrammatic means of representing sets and their relationships. They are particularly useful for explaining complex hierarchies and overlapping definitions. They are similar to another set diagramming techniqu…

使用css形变实现一个立方体

关于 Nuxt.js 2016 年 10 月 25 日&#xff0c;zeit.co 背后的团队对外发布了 Next.js &#xff0c;一个 React 的服务端渲染应用框架。几小时后&#xff0c;与 Next.js 异曲同工&#xff0c;一个基于 Vue.js 的服务端渲染应用框架应运而生&#xff0c;我们称之为&#xff1a;…

速卖通跨境智星,速卖通合理补单技法

1、测评的用途   提升店铺信誉等级和好评&#xff0c;最重要的是提升产品权重和搜索排名&#xff0c;因为如果产品没有曝光&#xff0c;就没有流量&#xff0c;当然当有了权重和搜索排名&#xff0c;好评也是必不可少的。 2、爆款打造   很多新人在测评的时候会关注店铺排名…

Git版本控制工具使用

文章目录1. CICD系统构成和流程1.1 CICD来源及概念1.2 Git版本控制系统2. Git操作和使用git config (基本配置操作)git clone <repo URL\> (创建仓库|拷贝已有仓库)git branch (分支相关操作- 创建|查看|删除)git checkout (操作文件和分支)git add/commit (提交和修改-保…

Unity导入URDF模型(turtlebot3 waffle pi为例)

本篇文章介绍Unity下如何导入机器人的URDF模型&#xff0c;主要参考官方教程&#xff1a;https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tutorials/urdf_importer/urdf_tutorial.md   关于导入的机器人模型选择了turtlebot3 waffle pi作为示例 1.Uni…