排序
面试题:什么是协程?Java 支持协程吗?
1. 什么是协程? **协程(Coroutine)**是一种比线程更轻量级的并发编程模型。它允许在单个线程中实现多个任务的并发执行,通过挂起和恢复的方式来切换任务,而不是依赖于操作系统的线程调度。...
面试题:Java 中什么情况会导致死锁?如何避免?
死锁(Deadlock)是多线程编程中常见的问题,指的是两个或多个线程互相持有对方所需的资源,导致所有线程都无法继续执行的情况。死锁的发生需要满足以下四个必要条件(称为死锁的四个条件): 1...
面试题:Java 中的 ThreadLocal 是如何实现线程资源隔离的?
ThreadLocal 通过为每个线程维护一个独立的变量副本,实现了线程之间的资源隔离。其核心实现依赖于 Thread 类中的 ThreadLocalMap,以下是其工作原理的详细说明: 1. ...
面试题:为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal?
Netty 是一个高性能的网络框架,对性能的要求非常高。虽然 Java 的 ThreadLocal 提供了线程本地存储的功能,但它在高并发场景下存在一些性能瓶颈。为了进一步提升性能,Netty 自定义...
面试题:你使用过 Java 中的哪些阻塞队列?
Java 中的 阻塞队列(BlockingQueue) 是 java.util.concurrent 包中提供的一种线程安全的队列实现。它支持在队列为空时阻塞获取操作,在队列满时阻塞插入操作。以下是 Jav...
面试题:什么是 Java 的 TransmittableThreadLocal?
TransmittableThreadLocal 是阿里巴巴开源的一个线程本地变量工具类,它是对 Java 标准库中的 ThreadLocal 的增强。ThreadLocal 用于在多线程环境中为每个线程保存独立的变量副本,但 ThreadLoc...
面试题:什么是 Java 的 CountDownLatch?
CountDownLatch 是 Java 并发包 (java.util.concurrent) 中的一个同步工具类,用于让一个或多个线程等待其他线程完成操作。它通过一个计数器来实现线程的等待和通知机制,适用于主线程等待...
面试题:Java 中的线程安全是什么意思?
在 Java 中,线程安全是指当多个线程同时访问某个类、对象或方法时,程序的行为仍然是正确的,且不会出现数据不一致或其他并发问题。换句话说,线程安全的代码能够正确处理多线程环境下的共享资...
面试题:如何合理地设置 Java 线程池的线程数?
合理地设置线程池的线程数是优化多线程程序性能的关键。线程数设置过多或过少都会影响系统的性能和资源利用率。以下是设置线程池线程数的一些指导原则和方法: 1. 根据任务类型设置线程数 ...
面试题:你使用过 Java 中的哪些原子类?
Java 中的 原子类(Atomic Classes) 是 java.util.concurrent.atomic 包中提供的一组线程安全的类,用于在多线程环境下实现无锁的原子操作。这些类通过 CAS(Compare-And-...