标签题目
Java 集合相关面试题
Java 常见集合有哪些,各自适合什么场景?
Java 常见集合可以按接口体系理解:List 适合有序可重复数据,Set 适合去重,Map 适合键值映射,Queue 和 Deque 适合队列、栈和任务调度。回答时要结合底层结构、复杂度、是否有序、是否线程安全和典型场景。
如果要用线程安全的数据结构,有什么替代方案?
使用线程安全数据结构时,核心不是简单把 ArrayList、HashMap 换成带锁版本,而是先判断共享状态是否真的必须共享,再按读写比例、是否需要阻塞、是否需要顺序、是否有复合操作一致性来选型。Java 中常见替代方案包括 ConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue、ConcurrentLinkedQueue、同步包装器、不可变快照、ThreadLocal、分段锁、Actor 或消息队列串行化,以及在跨进程场景下使用数据库或缓存的原子能力。