文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java.nio.Buffer的基础知识有哪些

2023-06-17 12:18

关注

这篇文章主要讲解了“java.nio.Buffer的基础知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java.nio.Buffer的基础知识有哪些”吧!

capacity(): 表明缓冲区的容量大小, 一旦确定了大小, 将不能再改变;
limit(): 告诉您到目前为止已经往缓冲区填了多少字节,或者用#limit(int)来改变这个限制;
position(): 告诉您当前的位置,以执行下一个读/写操作;
mark(): 为了稍后用 reset() 进行重新设置而记住某个位置;
flip(): 交换限制指针和位置指针,然后将位置置为 0,并废弃已经做的mark标记。

缓冲区的基本操作是读#get()和写#put()。

缓冲区类型:

NIO具有7种特定的 Buffer 类型,每种类型对应着一个基本数据类型(除了 boolean)

ByteBuffer //字节缓冲区 CharBuffer //字符缓冲区 DoubleBuffer //double 缓冲区 FloatBuffer //float 缓冲区 IntBuffer //int 缓冲区 LongBuffer //long 缓冲区 ShortBuffer //short 缓冲区

缓冲区分为直接缓冲区和间接缓冲区,直接缓冲区的创建成本要高于间接缓冲区,但同时它也会提供更快的I/O访问速度。所以直接缓冲区适合那种长期存在的缓冲区,而间接缓冲区则适合于生命周期较短的。还有,要注意,只有ByteBuffer可以创建直接缓冲区。

缓冲区的几个内部状态的改变:

容量(capacity),缓冲区大小

限制(limit),***个不应被读取或写入的字节的索引,总是小于容量。

位置(position),下一个被读取或写入的字节的索引,总是小于限制。

0 <= position <= limit <= capacity

clear()方法:设置limit为capacity,position为0,并丢弃mark。

filp()方法:设置limit为当前position,然后设置position为0,并丢弃mark。

rewind()方法:保持limit不变,设置position为0,并丢弃mark。

感谢各位的阅读,以上就是“java.nio.Buffer的基础知识有哪些”的内容了,经过本文的学习后,相信大家对java.nio.Buffer的基础知识有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯