ArrayList

扩容大小是:当前容量 * 1.5 + 1 为什么加1?极端情况下
oldCapacity=1,如果仅仅是1.5倍结果还是1如果
newCapacity依然比minCapacity小,直接使用minCapacity。如果
newCapacity> MAX_ARRAY_SIZE 最大限制- 3.1 判断
minCapacity是否大于最大限制。如果是就使用Integer.MAX_VALUE。如果不是则使用MAX_ARRAY_SIZE
- 3.1 判断
其中:MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8:一些虚拟机在复制中保留一些header words。尝试分配更大的数组可能会导致OutOfMemoryError:请求的数组大小超出VM限制
ArrayList 线程不安全
以上是 ArrayList 的全部内容, 来源链接: utcz.com/z/516405.html
