Java 并发编程共59篇

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

面试题:Java 线程池内部任务出异常后,如何知道是哪个线程出了异常?

在 Java 线程池中,如果任务执行过程中抛出异常,默认情况下异常会被线程池捕获并记录,但不会直接告诉你具体是哪个线程出了问题。为了定位异常发生的线程和任务,可以通过以下几种方式来实现:...
程序百科的头像-程序百科程序百科35天前
02814

面试题:什么是 Java 中的线程同步?

在 Java 中,线程同步是指控制多个线程对共享资源的访问,以确保在同一时间只有一个线程可以访问共享资源,从而避免数据不一致或其他并发问题。线程同步的主要目的是防止多个线程同时修改共享数...
程序百科的头像-程序百科程序百科1个月前
04711

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

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

面试题:你使用过哪些 Java 并发工具类?

Java 提供了丰富的并发工具类,位于 java.util.concurrent 包中,用于简化多线程编程并提高性能。以下是我使用过的一些常见 Java 并发工具类及其应用场景: 1. ExecutorService&...
程序百科的头像-程序百科程序百科1个月前
02713

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

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

面试题:什么是 Java 的 CAS(Compare-And-Swap)操作?

CAS(Compare-And-Swap) 是一种并发编程中的原子操作,用于实现无锁的线程安全操作。它是现代多核处理器提供的一种硬件指令,Java 通过 sun.misc.Unsafe 类或 java.util.c...
程序百科的头像-程序百科程序百科1个月前
03513

面试题:Java 线程池中 shutdown 与 shutdownNow 的区别是什么?

在 Java 线程池中,shutdown() 和 shutdownNow() 是用于关闭线程池的两个方法,但它们的行为和效果有显著区别。以下是它们的详细对比: 1. shutdown() 行为: 平缓地关闭线...
程序百科的头像-程序百科程序百科35天前
02811

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

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

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

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