调用ArrayList无参构造,初始容量是0;只有在第一次插入之后容量才为10;
调用带int的有参构造,初始容量是传入的参数
之后的扩容规则是现在容量的1.5倍(源码采取的是现有容量数右移1位,再加上现有容量数,并不是真的乘与1.5)
fail-fast 一旦发现遍历的同时其他人来修改,则立即抛出异常(ArrayList)
fail-safe 发现遍历的同时其他人来修改,应当能有应对的策略,例如牺牲一致性来让整个遍历运行完成(CopyOnWriteArrayList:读写时复制集合,是线程安全的)