Java 并发编程共59篇

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

面试题:什么是 Java 的 TransmittableThreadLocal?

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

面试题:什么是 Java 中的指令重排?

指令重排(Instruction Reordering) 是编译器和处理器为了优化程序性能,在不改变单线程程序执行结果的前提下,对指令执行顺序进行重新排序的一种技术。指令重排是 Java 内存模型(JMM)...
程序百科的头像-程序百科程序百科1个月前
04310

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

ReentrantLock 是 Java 中基于 AQS(AbstractQueuedSynchronizer) 实现的一种可重入独占锁。它提供了比 synchronized 更灵活的锁机制,支持公平锁和非公平锁,并且可以响应中断、设置超时等。 ...
程序百科的头像-程序百科程序百科1个月前
04610

面试题:线程的生命周期在 Java 中是如何定义的?

在 Java 中,线程的生命周期由 java.lang.Thread 类定义,并通过 线程状态(Thread State) 来描述。线程的生命周期包括以下几个状态: 1. 线程的六大状态 Java 中线...
程序百科的头像-程序百科程序百科1个月前
02610

面试题:Java 中的 ThreadLocal 是如何实现线程资源隔离的?

ThreadLocal 通过为每个线程维护一个独立的变量副本,实现了线程之间的资源隔离。其核心实现依赖于 Thread 类中的 ThreadLocalMap,以下是其工作原理的详细说明: 1. ...
程序百科的头像-程序百科程序百科1个月前
0419

面试题:什么是 Java 的 StampedLock?

StampedLock 是 Java 8 引入的一种新的锁机制,位于 java.util.concurrent.locks 包中。它提供了三种模式的锁控制:写锁、悲观读锁和乐观读锁。StampedLock 的设计旨在提供更高的并发性能,尤其...
程序百科的头像-程序百科程序百科1个月前
0319

面试题:Java 中 volatile 关键字的作用是什么?

volatile 是 Java 中的一个关键字,用于修饰变量,主要作用是保证变量的可见性和禁止指令重排序。它在多线程编程中非常重要,尤其是在需要共享变量的场景中。 1. volatile 的作用 (1...
程序百科的头像-程序百科程序百科1个月前
0339

面试题:什么是 Java 的 CompletableFuture?

CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中。它是 Future 接口的一个实现,提供了更强大的异步编程能力。CompletableFuture 不仅支...
程序百科的头像-程序百科程序百科1个月前
0439

面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?

当 Java 的 synchronized 升级到重量级锁后,即使所有线程都释放了锁,锁的状态不会立即降级,仍然会保持为重量级锁。 1. 重量级锁的背景 重量级锁是 Java 中 synchronized 的最高级别锁状态。...
程序百科的头像-程序百科程序百科1个月前
0439

面试题:你了解 Java 线程池的原理吗?

Java 线程池是一种管理和复用线程的机制,旨在减少线程创建和销毁的开销,提高系统性能和资源利用率。线程池的核心思想是预先创建一组线程,并将任务提交到线程池中执行,而不是为每个任务都创...
程序百科的头像-程序百科程序百科1个月前
0459