小组Java

为什么java中arrayList最大容量是Integer.MAX_VALUE-8?

虽然定义减少8位,但是后面如果还是不够用,那么还是可以继续扩容的。为何定位减少8?为何能扩容?
目前解释:①存储Headerwords;②避免一些机器内存溢出,减少出错几率,所以少分配③最大还是能支持到Integer.MAX_VALUE
最终还是有疑问:如果集合容量无限接近最大值,那么官方解释中集合存储的HeaderWords呢,难道被清除掉了?
1 收藏


直接登录