面试真题

Java · 简单 · 腾讯

怎么保证 ArrayList 的线程安全?

简单 Java 🎤 腾讯
参考答案
结论:用Collections.synchronizedList、Vector或CopyOnWriteArrayList,或手动同步。原理:synchronizedList包装后方法级加锁,适合低并发;Vector方法加synchronized但锁粗效率低已过时;CopyOnWriteArrayList写时复制新数组,读无锁适合读多写少;对比写频繁用外部synchronized(list){list.add()}避免ConcurrentModificationException。示例:List l = Collections.synchronizedList(new ArrayList<>());
题目整理自公开面经,答案由校招宝自研生成,仅供参考