2

我需要一个支持可搜索阅读器的循环缓冲区实现。我的用例:

在我的代码中,我收集日志消息。最终,用户可能会访问一个页面,该页面显示他们的格式很好。为了确保消息不会填满 RAM,我需要一个固定大小的 FIFO 结构。如果用户长时间不访问该页面,消息就会被丢弃。没关系。

只要用户停留在页面上,新的日志消息就应该附加到页面上。通过 JavaScript,用户可以定义要保留多少消息。这完全独立于我的应用程序中的缓冲区大小。所以我需要一个数据结构的读者,我可以用它来迭代任何新元素。

如果用户重新加载页面或第一次加载,我需要将阅读器设置为 FIFO 中最旧的元素。

添加消息时,必须更新阅读器。如果浏览器未能足够快地获取新消息,则阅读器最终应该指向 FIFO 中最旧的消息。这意味着用户可能会错过几条消息。这并不完美,但应该是不常见的情况。如果读者可以告诉我“错过了 5 条消息”,那将是完美的,但我可以没有它。

您知道提供此功能的现有实现吗?

4

1 回答 1

0

试试http://commons.apache.org/collections/,看看那里的循环缓冲区。

于 2011-05-26T08:20:58.870 回答