参考答案
结论:ArrayList是Java基于动态数组的List实现,线程不安全;核心要点:1.底层Object[]默认容量10,扩容为1.5倍;2.多线程并发读写会导致数组越界、数据覆盖或抛ConcurrentModificationException;3.线程安全方案:Vector(方法加synchronized)、Collections.synchronizedList包装、CopyOnWriteArrayList(写时复制);原理:fail-fast机制通过modCount检测结构修改;示例:两个线程同时add可能丢失元素。