Java 并发编程共63篇

Java 并发编程是高性能应用开发的重要环节。Java 并发面试题的考察重点包括线程的创建与管理、线程池的使用、同步机制(如锁、volatile 关键字)、原子类、并发容器、AQS 框架、CAS 原理、线程安全问题的排查以及高并发场景下的性能优化。

面试题:什么是 Java 内存模型(JMM)?

Java内存模型(Java Memory Model,简称JMM)是Java语言规范中定义的一种抽象概念,它描述了程序中各个线程如何通过内存进行交互。 JMM的目标是在不同的硬件架构和操作系统之上提供一个一致的内...
程序百科的头像-程序百科程序百科1个月前
275

面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?

Java 并发库(java.util.concurrent 包)提供了多种线程池实现,这些实现通过 Executors 工厂类提供便捷的创建方法。以下是几种常见的线程池类型及其特点和适用场景: 1. FixedThreadPool 创建...
程序百科的头像-程序百科程序百科1个月前
358

面试题:Java 创建线程池有哪些方式?

在Java中,创建线程池主要通过 java.util.concurrent 包下的 Executors 工具类和直接实例化 ThreadPoolExecutor 或 ScheduledThreadPoolExecutor 来实现。以下是几种常见的创建线程池的方式: 1...
程序百科的头像-程序百科程序百科1个月前
377

面试题:Java 的 synchronized 是怎么实现的?

Java 的 synchronized 关键字提供了一种简单而强大的机制来确保线程安全,它通过隐式的方式实现对象或类级别的锁控制。以下是 synchronized 实现机制的详细解释: 1. 锁的对象 实例方法:当 syn...
程序百科的头像-程序百科程序百科1个月前
417

面试题:ThreadLocal 的缺点?

尽管 ThreadLocal 提供了线程本地存储的能力,使得每个线程可以拥有变量的一个独立初始化的副本,但它也存在一些缺点和潜在的问题: 1. 内存泄漏风险 类加载器相关的内存泄漏:如果 ThreadLocal...
程序百科的头像-程序百科程序百科1个月前
4611

面试题:什么是 Java 的 CountDownLatch?

Java 中的 CountDownLatch(倒计数锁存器)是 java.util.concurrent 包提供的一个同步工具类,用于协调多个线程之间的执行顺序。它的核心功能是允许一个或多个线程等待一组操作完成后再继续执行...
程序百科的头像-程序百科程序百科1个月前
348

面试题:Java 中 ReentrantLock 的实现原理是什么?

ReentrantLock 是 Java 并发包 java.util.concurrent.locks 中的一部分,提供了一种比同步方法和同步块更灵活的锁定机制。 它支持与隐式监视器锁(通过 synchronized 关键字实现)相同的互斥锁...
程序百科的头像-程序百科程序百科1个月前
409

面试题:Java 线程池有哪些拒绝策略?

在 Java 的 java.util.concurrent 包中,线程池通过 ThreadPoolExecutor 类来管理任务的执行。 当提交的任务超过了线程池的最大容量(即核心线程数加上队列容量)时,就需要一种策略来处理这些...
程序百科的头像-程序百科程序百科1个月前
335

面试题:在 Java 中主线程如何知晓创建的子线程是否执行成功?

在Java中,主线程想要知晓其创建的子线程是否执行成功,可以通过以下几种方式来实现: 1. 使用 Thread.join() 方法 join() 方法允许一个线程等待另一个线程完成。通过调用子线程...
程序百科的头像-程序百科程序百科1个月前
277

面试题: Java 中 ReentrantLock 的实现原理是什么?

ReentrantLock 是 Java 提供的一个显式锁实现,位于 java.util.concurrent.locks 包中。 它提供了与 synchronized 类似的同步功能,但相比 synchronized,它更加灵活,并提供了更多的特性,如公...
程序百科的头像-程序百科程序百科1个月前
317