Java 并发编程共59篇

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

面试题: Java 线程池核心线程数在运行过程中能修改吗?如何修改?

在 Java 的标准线程池实现中,核心线程数(corePoolSize)在运行过程中是不能直接修改的。ThreadPoolExecutor 的核心线程数是通过构造函数设置的,并且在运行过程中没有提供直接修改它的方...
程序百科的头像-程序百科程序百科35天前
02312

面试题:Java 中的 InheritableThreadLocal 是什么?

InheritableThreadLocal 是 Java 中 ThreadLocal 的一个扩展类,它允许子线程继承父线程的线程本地变量。与 ThreadLocal 不同,InheritableThreadLocal 在创建子线程时,会自动将父线程的线程本...
程序百科的头像-程序百科程序百科1个月前
02611

面试题:Synchronized 和 ReentrantLock 有什么区别?

Synchronized 和 ReentrantLock 都是 Java 中用于实现线程同步的机制,但它们在实现方式、功能和灵活性上有显著的区别。以下是它们的主要区别: 1. 实现方式 Synchronized...
程序百科的头像-程序百科程序百科1个月前
02511

面试题:你使用过 Java 中的哪些阻塞队列?

Java 中的 阻塞队列(BlockingQueue) 是 java.util.concurrent 包中提供的一种线程安全的队列实现。它支持在队列为空时阻塞获取操作,在队列满时阻塞插入操作。以下是 Jav...
程序百科的头像-程序百科程序百科1个月前
03911

面试题:什么是 Java 中的线程同步?

在 Java 中,线程同步是指控制多个线程对共享资源的访问,以确保在同一时间只有一个线程可以访问共享资源,从而避免数据不一致或其他并发问题。线程同步的主要目的是防止多个线程同时修改共享数...
程序百科的头像-程序百科程序百科1个月前
04711

面试题:Java 线程池中 shutdown 与 shutdownNow 的区别是什么?

在 Java 线程池中,shutdown() 和 shutdownNow() 是用于关闭线程池的两个方法,但它们的行为和效果有显著区别。以下是它们的详细对比: 1. shutdown() 行为: 平缓地关闭线...
程序百科的头像-程序百科程序百科35天前
02811

面试题:为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用?

在 Java 的 ThreadLocal 实现中,ThreadLocalMap 使用弱引用(WeakReference)来引用 ThreadLocal 对象作为键(key)。这种设计主要是为了解决内存泄漏问题,以下是具体原因和机制: 1. 弱引用...
程序百科的头像-程序百科程序百科1个月前
03211

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

在 Java 中,创建线程池的方式主要有以下几种: 1. 使用 Executors 工厂类 Executors 是 Java 提供的一个工具类,提供了多种创建线程池的静态工厂方法。以下是常见的几种线...
程序百科的头像-程序百科程序百科1个月前
02610

面试题:你了解时间轮(Time Wheel)吗?有哪些应用场景?

时间轮(Time Wheel)是一种高效的定时任务调度算法,常用于实现延迟任务或周期性任务的调度。它的核心思想是通过一个循环数组(类似于时钟的表盘)来表示时间,每个槽(slot)代表一个时间间隔...
程序百科的头像-程序百科程序百科1个月前
03010

面试题:什么是 Java 的 TransmittableThreadLocal?

TransmittableThreadLocal 是阿里巴巴开源的一个线程本地变量工具类,它是对 Java 标准库中的 ThreadLocal 的增强。ThreadLocal 用于在多线程环境中为每个线程保存独立的变量副本,但 ThreadLoc...
程序百科的头像-程序百科程序百科1个月前
03910