java共193篇

面试题:什么是 Java 的 SPI(Service Provider Interface)机制?

Java的SPI(Service Provider Interface)机制是一种服务发现机制,它提供了一种服务接口与具体实现解耦的方式,允许第三方为这些接口提供实现。简单来说,SPI是一种动态发现和加载服务提供者(...
程序百科的头像-程序百科程序百科1个月前
3210

面试题:Java 中的 LinkedHashMap 是什么?

LinkedHashMap 是 Java 中 Map 接口的一种实现,它继承自 HashMap 类,并且位于 java.util 包中。LinkedHashMap 不仅保留了 HashMap 的快速查找特性,还通过维护一个双向链表来记录元素的插入顺...
程序百科的头像-程序百科程序百科1个月前
206

面试题:为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用?

在Java中,ThreadLocal 变量的键(即 ThreadLocal 实例)使用弱引用(Weak Reference)主要是为了防止内存泄漏。理解这一点需要从 ThreadLocal 的内部实现机制和Java垃圾回收机制两个方面来分析...
程序百科的头像-程序百科程序百科1个月前
387

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

在 Java 并发编程中,我使用过以下常用的并发工具类(均属于 java.util.concurrent 包),它们各自适用于不同的并发控制和线程协作场景: ✅ 1. CountDownLatch(倒计数锁存器) 📌 使用场景: ...
程序百科的头像-程序百科程序百科1个月前
2914

面试题:为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old

在Java中,某些新生代和老年代的垃圾收集器不能组合使用的原因主要在于它们的设计理念、工作方式以及相互之间的兼容性问题。 以ParNew(并行的新生成代收集器)和Parallel Old(并行的老年代收...
程序百科的头像-程序百科程序百科1个月前
326

面试题:什么是 Java 中的迭代器(Iterator)?

在Java中,迭代器(Iterator)是一种设计模式的实现,用于遍历集合(如列表、集合或映射的键集等)中的元素,而无需暴露该集合的底层表示形式。迭代器提供了一种统一的方式来访问集合中的元素,...
程序百科的头像-程序百科程序百科1个月前
2314

面试题:Java 中包装类型和基本类型的区别是什么?

在 Java 中,基本类型(Primitive Types)和包装类型(Wrapper Classes)都用于存储数值数据,但它们之间存在一些关键的区别。以下是基本类型与对应的包装类型的对比及其主要区别: 基本类型 定...
程序百科的头像-程序百科程序百科1个月前
269

面试题:数组和链表在 Java 中的区别是什么?

数组和链表是两种基础的数据结构,在 Java 中它们有着不同的特性和使用场景。以下是数组和链表的主要区别: 1. 数据存储方式 数组:在内存中是连续存储的,这意味着每个元素都紧挨着前一个元素...
程序百科的头像-程序百科程序百科1个月前
4711

面试题:Volatile 与 Synchronized 的区别是什么?

在 Java 中,volatile 和 synchronized 都是用于确保线程之间的可见性和有序性,但它们的作用和使用场景有着明显的区别。以下是它们的主要区别: 1. 可见性 volatile:保证了变量的可见性,即当...
程序百科的头像-程序百科程序百科1个月前
327

面试题:Java 中线程之间如何进行通信?

在 Java 中,线程间的通信可以通过多种机制实现,以确保多个线程能够协调工作而不发生数据不一致或竞争条件的问题。以下是几种常见的线程间通信的方法: 1. 使用 wait(), notify() 和 notifyAll...
程序百科的头像-程序百科程序百科1个月前
3711