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。函數