排序
面试题:什么是 Java 中的原子性、可见性和有序性?
在 Java 并发编程中,原子性(Atomicity)、可见性(Visibility) 和 有序性(Ordering) 是三个核心概念,它们共同保证了多线程环境下程序的正确性。以下是它们的详细解释: 1....
面试题: 你了解 Java 中的读写锁吗?
是的,Java 中的读写锁是一种特殊的锁机制,允许多个线程同时读取共享资源,但在写操作时需要独占锁。这种机制可以提高并发性能,特别是在读多写少的场景中。 Java 提供了 ReentrantReadWr...
面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?
Java 并发库(java.util.concurrent)提供了多种线程池实现,主要通过 Executors 工具类来创建。这些线程池实现各有特点,适用于不同的场景。以下是常见的线程池实现及其区别: 1.&nb...
面试题: Java 线程池核心线程数在运行过程中能修改吗?如何修改?
在 Java 的标准线程池实现中,核心线程数(corePoolSize)在运行过程中是不能直接修改的。ThreadPoolExecutor 的核心线程数是通过构造函数设置的,并且在运行过程中没有提供直接修改它的方...
面试题:Java 线程池中 shutdown 与 shutdownNow 的区别是什么?
在 Java 线程池中,shutdown() 和 shutdownNow() 是用于关闭线程池的两个方法,但它们的行为和效果有显著区别。以下是它们的详细对比: 1. shutdown() 行为: 平缓地关闭线...
面试题:Java 线程池内部任务出异常后,如何知道是哪个线程出了异常?
在 Java 线程池中,如果任务执行过程中抛出异常,默认情况下异常会被线程池捕获并记录,但不会直接告诉你具体是哪个线程出了问题。为了定位异常发生的线程和任务,可以通过以下几种方式来实现:...
面试题:Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
DelayQueue 和 ScheduledThreadPool 是 Java 中用于处理延迟任务的两种不同机制,尽管它们都与时间相关,但在使用场景和实现方式上有显著区别。 1. DelayQueue DelayQueue ...
面试题:Java 线程安全的集合有哪些?
在 Java 中,线程安全的集合是指多个线程可以同时访问和修改而不会导致数据不一致的集合。Java 提供了多种线程安全的集合类,主要分为以下几类: 1. java.util.Collections 工具类提...
面试题:Java 创建线程池有哪些方式?
在 Java 中,创建线程池的方式主要有以下几种: 1. 使用 Executors 工厂类 Executors 是 Java 提供的一个工具类,提供了多种创建线程池的静态工厂方法。以下是常见的几种线...
面试题:在 Java 中主线程如何知晓创建的子线程是否执行成功?
在 Java 中,主线程可以通过多种方式知晓创建的子线程是否执行成功。以下是几种常见的实现方式: 1. 使用 Thread.join() 方法 作用:主线程调用子线程的 join() 方法,等待子...