排序
面试题:你使用过 Java 的累加器吗?
Java 中的 累加器(Accumulator) 是 java.util.concurrent.atomic 包中提供的一种高效的工具,用于在多线程环境下进行累加操作。累加器的主要实现类是 LongAdder&nbs...
面试题:你使用过 Java 中的哪些原子类?
Java 中的 原子类(Atomic Classes) 是 java.util.concurrent.atomic 包中提供的一组线程安全的类,用于在多线程环境下实现无锁的原子操作。这些类通过 CAS(Compare-And-...
面试题:你使用过 Java 中的哪些阻塞队列?
Java 中的 阻塞队列(BlockingQueue) 是 java.util.concurrent 包中提供的一种线程安全的队列实现。它支持在队列为空时阻塞获取操作,在队列满时阻塞插入操作。以下是 Jav...
面试题:如何在 Java 中控制多个线程的执行顺序?
在 Java 中,线程的执行顺序是由操作系统的线程调度器决定的,通常情况下是无法直接控制的。然而,在某些场景下,我们需要确保多个线程按照特定的顺序执行。以下是几种常见的控制线程执行顺序的...
面试题:什么是 Java 的 ForkJoinPool?
ForkJoinPool 是 Java 7 引入的一个线程池实现,位于 java.util.concurrent 包中。它是专门为支持 分治算法(Divide-and-Conquer)和 并行任务 而设计的。ForkJo...
面试题:什么是 Java 的 CompletableFuture?
CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中。它是 Future 接口的一个实现,提供了更强大的异步编程能力。CompletableFuture 不仅支...
面试题:什么是 Java 的 StampedLock?
StampedLock 是 Java 8 引入的一种新的锁机制,位于 java.util.concurrent.locks 包中。它提供了三种模式的锁控制:写锁、悲观读锁和乐观读锁。StampedLock 的设计旨在提供更高的并发性能,尤其...
面试题:什么是 Java 的 CountDownLatch?
CountDownLatch 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于让一个或多个线程等待其他线程完成操作。它通过一个计数器来实现线程的等待和通知机制,适用于主线程等待...
面试题:什么是 Java 的 CyclicBarrier?
CyclicBarrier 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于让一组线程互相等待,直到所有线程都到达某个屏障点(Barrier Point)后再继续执行。它可以用于多线程任务...
面试题:什么是 Java 的 Semaphore?
Semaphore 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于控制同时访问某个资源的线程数量。它通过维护一组许可证(permits)来实现资源的访问控制,适用于限流、资源池...