【发布时间】:2012-03-28 16:37:32
【问题描述】:
我不明白 Buffer 类是干什么用的。不是用来缓冲的吗?我认为这应该意味着一个缓冲区对象应该允许同时独立地读取和写入它。然而事实并非如此:缓冲区只允许一个position,一个用于读写。这意味着如果我用相对put() 向缓冲区写入了一些东西,那么我就不能用相对get() 读取任何敏感的东西。另外,如果我交替调用put() 和get(),我会精神错乱。
那么缓冲区有什么使用模式(示例)吗?所以很明显这些缓冲区比传统数组更好?
【问题讨论】:
-
我同意。在我看来,该设计在没有单独的读写指针方面存在严重缺陷。他们提供的“翻转()”操作的丑陋名称也让游戏失去了意义。如果它对应于现实世界中的某些东西,它会有一个更好的名字。相反,它完全是一个 API 工件,具有同样人为的名称。
标签: java design-patterns buffer nio