排序
面试题:Java 线程安全的集合有哪些?
在 Java 中,线程安全的集合是指多个线程可以同时访问和修改而不会导致数据不一致的集合。Java 提供了多种线程安全的集合类,主要分为以下几类: 1. java.util.Collections 工具类提...
面试题:Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
DelayQueue 和 ScheduledThreadPool 是 Java 中用于处理延迟任务的两种不同机制,尽管它们都与时间相关,但在使用场景和实现方式上有显著区别。 1. DelayQueue DelayQueue ...
面试题:什么是 Java 内存模型(JMM)?
Java 内存模型(Java Memory Model, JMM) 是 Java 虚拟机(JVM)定义的一种规范,用于描述多线程环境下,线程如何与主内存和工作内存交互,以及如何保证线程之间的可见性、有序性和原子性...
面试题:你使用过哪些 Java 并发工具类?
Java 提供了丰富的并发工具类,位于 java.util.concurrent 包中,用于简化多线程编程并提高性能。以下是我使用过的一些常见 Java 并发工具类及其应用场景: 1. ExecutorService&...
面试题:什么是 Java 的 CAS(Compare-And-Swap)操作?
CAS(Compare-And-Swap) 是一种并发编程中的原子操作,用于实现无锁的线程安全操作。它是现代多核处理器提供的一种硬件指令,Java 通过 sun.misc.Unsafe 类或 java.util.c...
面试题:Java 中的 wait、notify 和 notifyAll 方法有什么作用?
wait、notify 和 notifyAll 是 Java 中用于实现线程间通信和同步的关键方法,它们都是 Object 类的方法,必须在同步代码块或同步方法中使用(即需要持有对象的监视器...
面试题:什么是 Java 的 CountDownLatch?
CountDownLatch 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于让一个或多个线程等待其他线程完成操作。它通过一个计数器来实现线程的等待和通知机制,适用于主线程等待...
面试题:Java 的 synchronized 是怎么实现的?
synchronized 是 Java 中用于实现线程同步的关键字,它可以用来修饰方法或代码块,确保同一时间只有一个线程可以执行被修饰的代码。synchronized 的实现主要依赖于 Java 对象头中的&n...
面试题:你使用过 Java 中的哪些原子类?
Java 中的 原子类(Atomic Classes) 是 java.util.concurrent.atomic 包中提供的一组线程安全的类,用于在多线程环境下实现无锁的原子操作。这些类通过 CAS(Compare-And-...
面试题:你使用过 Java 的累加器吗?
Java 中的 累加器(Accumulator) 是 java.util.concurrent.atomic 包中提供的一种高效的工具,用于在多线程环境下进行累加操作。累加器的主要实现类是 LongAdder&nbs...