排序
面试题:Java 中有哪些集合类?请简单介绍
Java 提供了丰富的集合框架(Collections Framework),它包括了一系列用于存储和操作对象组的接口和类。以下是 Java 集合框架中一些主要的集合类及其简单介绍: 1. List 接口实现类 ArrayList...
面试题:Synchronized 和 ReentrantLock 有什么区别?
在 Java 中,Synchronized 和 ReentrantLock 都是用于实现线程同步的机制,但它们之间存在一些关键的区别。以下是两者的主要区别: 1. 实现方式 Synchronized:它是Java语言的关键字,是一种隐...
面试题:为什么 JDK 1.8 对 HashMap 进行了红黑树的改动?
JDK 1.8 对 HashMap 引入红黑树的主要目的是优化极端情况下哈希冲突导致的性能问题,通过将链表转换为红黑树,将最坏情况下的时间复杂度从 O(n) 降低到 O(log n),从而显著提升性能。以下是详细...
面试题:什么是协程?Java 支持协程吗?
什么是协程? 协程(Coroutine) 是一种用户态的轻量级线程,它允许在特定的地方暂停执行并在稍后恢复执行。 与传统的线程相比,协程的切换由程序本身控制,而不是由操作系统内核管理。 这使得...
面试题: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的目标是在不同的硬件架构和操作系统之上提供一个一致的内...