commons collections缓冲容量

时间:2012-04-06 19:50:59

标签: java apache-commons

我没有看到在apache的公共区域中获取有界缓冲区的最大容量的方法?具体来说,我正在使用BoundedFifoBuffer。你如何查询它的容量?

2 个答案:

答案 0 :(得分:2)

您必须指定构造函数的大小。如果未指定大小,则为32。

快速浏览源代码表明,指定大小的大小没有限制(int必须为<= Integer.MAX_VALUE = 2^31-1的限制除外)。构造函数中唯一的检查是大小为> 0。 您可以分配的可用内存量也有实际限制。

目前尚不清楚为什么,但确实没有查询缓冲区容量的方法。 (大概如果你在容量上添加了无知的元素,你应该抓住BufferOverflowException来检测你何时达到容量。)

答案 1 :(得分:0)

你做不到。您只能在对象构造中指定它的大小。