最佳答案
ArrayBlockingQueue
由一个数组支持,该数组的大小在创建后将永远不会改变。将容量设置为Integer.MAX_VALUE
会创建一个大型数组,空间成本很高。ArrayBlockingQueue
总是有界的。LinkedBlockingQueue
动态创建节点,直到达到capacity
。默认情况下,这是Integer.MAX_VALUE
。使用如此大的容量不会增加空间成本。LinkedBlockingQueue
是有界的。
最佳答案
ArrayBlockingQueue
由一个数组支持,该数组的大小在创建后将永远不会改变。将容量设置为Integer.MAX_VALUE
会创建一个大型数组,空间成本很高。ArrayBlockingQueue
总是有界的。LinkedBlockingQueue
动态创建节点,直到达到capacity
。默认情况下,这是Integer.MAX_VALUE
。使用如此大的容量不会增加空间成本。LinkedBlockingQueue
是有界的。