老男孩微服務(wù)云原生2022
? ?// 如果新容量小于最小容量要求,則使用最小容量(addAll 大集合的情況)
? ?if (newCapacity - minCapacity < 0) {
? ? ? ?newCapacity = minCapacity;
? ?}
? ?// (提示:上一個(gè) if 的 newCapacity 有可能是溢出的)
? ?// 如果新容量超出最大數(shù)組長(zhǎng)度限制,說(shuō)明無(wú)法擴(kuò)容 1.5 倍,回歸到 minCapacity 上
? ?// (提示:源碼調(diào)用了 hugeCapacity() 函數(shù),這里做內(nèi)聯(lián)簡(jiǎn)化)
? ?if (newCapacity - MAX_ARRAY_SIZE > 0) {
? ? ? ?// 最小容量要求發(fā)生整型溢出,無(wú)法滿(mǎn)足要求,只能直接拋出 OOM
標(biāo)簽: