这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战
作者简介:悟空,8年一线互联网开发和架构经验,用故事讲解分布式、架构设计、Java 核心技术。《JVM性能优化实战》专栏作者,开源了《Spring Cloud 实战 PassJava》项目,公众号:
悟空聊架构。本文已收录至 www.passjava.cn
作者:悟空聊架构
原文链接:面试突击:多线程 | 水帘洞版(免费下载)
线程池问题汇总
- Java 的高并发容器有哪些?
- CAS 原理知道吗?
- ABA 问题?
- volatile vs synchornized?
- Java 内存模型知道吗?
- ThreadLocal 有什么缺点?
- 什么是 AQS
- 线程池的原理?
- 线程池执行流程?
- 阻塞队列有哪几种?
- 多线程创建多少个线程合适?
- 线程池的拒绝策略有哪几种?
- 线程池的生命周期?
- Java 线程池有哪几种?
- 线程池如何监控?
- Executor 有哪几种线程池?
Java 的高并发容器有哪些?
同步容器
Java 在 1.5 版本之前所谓的线程安全的容器,主要指的就是同步容器。
同步容器的问题:
不过同步容器有个最大的问题,那就是性能差,所有方法都用 synchronized 来保证互斥,串行度太高了。
并发容器
因此 Java 在 1.5 及之后版本提供了性能更高的容器,我们一般称为并发容器。
并发容器的分类:
并发容器虽然数量非常多,但依然是前面我们提到的四大类:List、Map、Set 和 Queue,下面的并发容器关系图,基本上把我们经常用的容器都覆盖到了。