Java 并发编程共59篇

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

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

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

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

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

面试题:什么是 Java 中的锁自适应自旋?

锁自适应自旋(Adaptive Spinning) 是 JVM 对自旋锁的一种优化机制,旨在根据锁的历史竞争情况动态调整自旋的次数,以提高锁获取的效率并减少不必要的 CPU 资源浪费。 1. 自旋锁的背景 在 Java...
程序百科的头像-程序百科程序百科1个月前
0479

面试题:什么是 Java 的 Timer?

Java 的 Timer 是一个用于调度任务在指定时间或按固定间隔执行的工具类。它位于 java.util 包中,通常用于安排一次性或重复性的任务。 主要特点: 单线程执行:Timer 使用单个后台线程来执行所...
程序百科的头像-程序百科程序百科1个月前
0488

面试题:什么是 Java 的 happens-before 规则?

happens-before 规则 是 Java 内存模型(JMM)中定义的一种偏序关系,用于描述多线程环境下操作之间的 可见性 和 有序性。它确保在一个线程中执行的某些操作的结果对...
程序百科的头像-程序百科程序百科1个月前
0518

面试题:Java 中使用 ThreadLocal 的最佳实践是什么?

ThreadLocal 是 Java 中用于实现线程本地存储的强大工具,但如果使用不当,可能会导致内存泄漏或其他问题。以下是使用 ThreadLocal 的最佳实践: 1. 显式调用 remove(...
程序百科的头像-程序百科程序百科1个月前
0328

面试题:Java 中 Thread.sleep 和 Thread.yield 的区别?

Thread.sleep 和 Thread.yield 都是 Java 中用于控制线程行为的方法,但它们的用途和行为有显著区别。 1. Thread.sleep 作用:使当前线程暂停执行一段指定的时间(进入阻塞...
程序百科的头像-程序百科程序百科1个月前
0427

面试题:Java 中的线程安全是什么意思?

在 Java 中,线程安全是指当多个线程同时访问某个类、对象或方法时,程序的行为仍然是正确的,且不会出现数据不一致或其他并发问题。换句话说,线程安全的代码能够正确处理多线程环境下的共享资...
程序百科的头像-程序百科程序百科1个月前
0377

面试题:什么是 Java 的 CyclicBarrier?

CyclicBarrier 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于让一组线程互相等待,直到所有线程都到达某个屏障点(Barrier Point)后再继续执行。它可以用于多线程任务...
程序百科的头像-程序百科程序百科1个月前
0287

面试题:什么是 Java 中的 ABA 问题?

ABA 问题是并发编程中的一个经典问题,主要发生在使用 CAS(Compare-And-Swap) 操作时。CAS 是一种乐观锁机制,用于实现无锁并发操作,但它在某些场景下可能会导致 ABA 问题。 1.&nb...
程序百科的头像-程序百科程序百科1个月前
0257