Java 并发编程共59篇

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

面试题:Java 中的 final 关键字是否能保证变量的可见性?

在 Java 中,final 关键字可以保证变量的可见性,但需要结合特定的上下文来理解。 final 字段的可见性: 当一个对象被正确构造(即构造函数完成)后,所有线程都能看到该对象的 final 字...
程序百科的头像-程序百科程序百科1个月前
0516

面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?

Java 并发库(java.util.concurrent)提供了多种线程池实现,主要通过 Executors 工具类来创建。这些线程池实现各有特点,适用于不同的场景。以下是常见的线程池实现及其区别: 1.&nb...
程序百科的头像-程序百科程序百科29天前
05114

面试题:ThreadLocal 的缺点?

ThreadLocal 是 Java 中用于实现线程本地存储的强大工具,但它也存在一些缺点和潜在问题。以下是 ThreadLocal 的主要缺点: 1. 内存泄漏问题 原因: ThreadLocal 的值存储...
程序百科的头像-程序百科程序百科1个月前
0507

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

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

面试题: 你了解 Java 中的读写锁吗?

是的,Java 中的读写锁是一种特殊的锁机制,允许多个线程同时读取共享资源,但在写操作时需要独占锁。这种机制可以提高并发性能,特别是在读多写少的场景中。 Java 提供了 ReentrantReadWr...
程序百科的头像-程序百科程序百科29天前
04915

面试题:什么是 Java 的 Timer?

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

面试题:什么是 Java 的 ForkJoinPool?

ForkJoinPool 是 Java 7 引入的一个线程池实现,位于 java.util.concurrent 包中。它是专门为支持 分治算法(Divide-and-Conquer)和 并行任务 而设计的。ForkJo...
程序百科的头像-程序百科程序百科1个月前
04714

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

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

面试题:Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?

DelayQueue 和 ScheduledThreadPool 是 Java 中用于处理延迟任务的两种不同机制,尽管它们都与时间相关,但在使用场景和实现方式上有显著区别。 1. DelayQueue DelayQueue ...
程序百科的头像-程序百科程序百科29天前
04713

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

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