经典多线程核心知识点

283 阅读1分钟

这是我参与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,下面的并发容器关系图,基本上把我们经常用的容器都覆盖到了。