排序
面试题:Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
在 Java 中,DelayQueue 和 ScheduledThreadPoolExecutor 都是用于处理延迟任务的工具,但它们的设计目的、使用方式和内部实现都有显著的区别。下面将详细介绍这两者的不同之处。 DelayQueue De...
面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?
当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
面试题:什么是 Java 中的双亲委派模型?
在Java中,双亲委派模型(Parent Delegation Model)是类加载器的一种工作模式。它确保了Java应用程序中的类加载过程既安全又高效。通过这种机制,Java虚拟机(JVM)能够有效地管理不同来源的类...
面试题:Java 中的 hashCode 和 equals 方法之间有什么关系?
在 Java 中,hashCode() 和 equals() 方法是 Object 类中的两个重要方法,它们用于定义对象的相等性和哈希值。这两个方法之间有着紧密的关系,尤其是在将对象用作集合(如 HashMap, HashSet 等...
面试题:Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别?
在 Java 中,hashCode() 和 equals() 方法是 Object 类中的两个重要方法,它们用于定义对象的相等性和哈希值。与此同时,== 操作符用于比较两个变量是否指向同一...
面试题:什么是 Java 内存模型(JMM)?
Java内存模型(Java Memory Model,简称JMM)是Java语言规范中定义的一种抽象概念,它描述了程序中各个线程如何通过内存进行交互。 JMM的目标是在不同的硬件架构和操作系统之上提供一个一致的内...
面试题:Java 中有哪些垃圾回收算法?
Java中的垃圾回收(GC)机制是自动管理内存的一个重要特性,它通过不同的算法来识别和回收不再使用的对象所占用的内存。以下是几种常见的垃圾回收算法: 标记-清除算法(Mark-Sweep): 这是最...
面试题:Java 线程池有哪些拒绝策略?
在 Java 的 java.util.concurrent 包中,线程池通过 ThreadPoolExecutor 类来管理任务的执行。 当提交的任务超过了线程池的最大容量(即核心线程数加上队列容量)时,就需要一种策略来处理这些...
面试题:Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同?
CMS(Concurrent Mark-Sweep)和G1(Garbage First)垃圾回收器在记忆集(Remembered Set, RS)的维护上有显著的不同,这些差异主要源于它们的设计目标和实现机制的不同。以下是两者在这方面的...
面试题:Java 泛型的作用是什么?
Java中的泛型(Generics)提供了一种让类型(类、接口)成为参数的机制,允许编写可以处理不同类型数据的代码而无需在具体使用时进行类型转换。以下是泛型的主要作用: 1. 提高类型安全性 泛型...
