ArrayList最大容量

private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;

最大容量为Integer.MAX_VALUE-8,数组

public ArrayList(int initialCapacity)

经过以上构造函数指定初始容量,而int最大值就是Integer.MAX_VALUE,-8是为了不oom,由于有些vm可能存储头信息在数组里。所以最大容量为Integer.MAX_VALUE-8。可是当MAX_ARRAY_SIZE仍不够时,容量会扩展至HugeCapacity,为Integer.MAX_VALUE。函数

相关文章
相关标签/搜索