Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我看不到在 apache 的公共空间中获得有界缓冲区的最大容量的方法吗?具体来说,我正在使用BoundedFifoBuffer。你如何查询它的容量?
您必须为构造函数指定大小。如果不指定大小,则为 32。
快速浏览源代码表明,指定大小的大小没有限制(除了必须是的限制int)<= Integer.MAX_VALUE = 2^31-1。构造函数中唯一的检查是大小为> 0. 您可以分配的可用内存量也有实际限制。
int
<= Integer.MAX_VALUE = 2^31-1
> 0
不清楚为什么,但确实没有查询缓冲区容量的方法。(大概如果您在添加元素时不知道容量,您应该捕获BufferOverflowException以检测何时达到容量。)
BufferOverflowException
你不能。您只能在对象构造时指定它的大小。