Java NIO 之 ByteBuffer

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java NIO 之 ByteBuffer相关的知识,希望对你有一定的参考价值。

抽象类ByteBuffer 

  • ByteBuffer的继承关系

  • 父类

技术分享

  • 子类

目前,大概有5个实现类

技术分享


  • ByteBuffer 底层,主要依赖?

    顾名思义,从ByteBuffer的名称来看,这个缓冲区针对的是字节类型的缓冲区,

    从源码中,也可以查询到, 就是字节数组


技术分享


  • ByteBuffer的主要api

我这里仅仅分享一下,getput,因为这两个方法用到的最多了。

  • put 操作

技术分享


目前有5个实现类,我们可以依次查看,到底如何实现的

DirectByteBuffer.java


技术分享


DirectByteBufferR.java

技术分享


HeapByteBuffer.java

技术分享


HeapByteBufferR.java

技术分享


  • get操作

    get操作,目前有两种实现思路,如下所示

    HeapByteBuffer.java

技术分享


DirectByteBuffer.java

技术分享


  • 总结:

    其实,当我看到这些的时候,很开心,印证了自己的猜想,突然意识到,JavaNIOBuffer,也是对数组的封装;那么按照类似的思路,我们也可以慢慢的制定属于我们自己的框架。感觉有些事件一下子相同了。心里有底气了。

    很明显提供了一些思路,当我们在开发自己的框架时,如果有场景需要缓存的话,也可以这样做。

 

 

其他Buffer的实现类,也类似,目前就不在一一看了。

//不知道为什么JDK里的Buffer源码里,会有很多空白行,感觉格式排版有问题吧


















本文出自 “XEJ分布式工作室” 博客,请务必保留此出处http://xingej.blog.51cto.com/7912529/1970040

以上是关于Java NIO 之 ByteBuffer的主要内容,如果未能解决你的问题,请参考以下文章

java的nio之:java的nio系列教程之channel的数据交换

java之NIO简介

Java之NIO

java之socket编程(NIO)

不惑JAVA之JAVA基础 - NIO

java之NIO编程