yeshucheng 发表于 2013-1-15 03:00:45

认识缓冲区Buffer

数据对于输入和输出的操作耗时是非常严重的问题,如果把这个问题放入到网络上去看待更甚是值得注意的一个问题了。假如结合基础的OS知识我们也知道如果要减少这种I/O操作的耗时或者也可以说提升这种效率的话,最大的可能就是减少物理读写的次数,而且尽可能做到主存数据的重读性(操作系统也在加强说明更多减少抖动现象的产生)。
在java.nio包中我们可以直接来操作相对应的API了。可以让java更加方便的直接控制和运用缓冲区。缓冲区有几个需要了解的特定概念需要详尽来解释,才能更好的知道我们下面一些列需要针对的问题实质。
属性

容量(capacity):顾名思义就是表示缓冲区中可以保存多少数据;
极限(limit):缓冲区中的当前数据终结点。不过它是可以动态改变的,这样做的好处也是充分利用重用性;
位置(position):这个也好理解,其实就是指明下一个需要读写数据的位置。
上面上个关系还可以具体用图示的方式来表达整体概念,如下图所示:


<span style="font-family: 宋体;">
<div style="text-align: center;">http://www.blogjava.net/images/blogjava_net/yeshucheng/buffer.jpg
页: [1]
查看完整版本: 认识缓冲区Buffer