java共193篇

面试题:你了解 Java 的类加载器吗?

类加载器是 Java 虚拟机(JVM)的一个核心组成部分,负责在程序运行时动态地将 .class 文件(字节码)加载到 JVM 中,并将其转换为 Java 的 java.lang.Class 对象。 类加载器使得 Java 能够在运...
程序百科的头像-程序百科程序百科1年前
486

面试题:什么是 Java 的封装特性?

Java的封装特性是面向对象编程(OOP)中的一个重要概念,它指的是将对象的状态信息(属性)隐藏在对象内部,不允许外部程序直接访问这些状态信息,而是通过该类提供的方法来实现对这些状态信息...
程序百科的头像-程序百科程序百科1年前
576

面试题:常用的 JVM 配置参数有哪些?

JVM(Java虚拟机)提供了丰富的配置参数,用于调整其运行时行为以优化性能或解决特定问题。以下是一些常用的JVM配置参数: 堆内存设置 -Xms<size>:设置JVM启动时的初始堆大小。 -Xmx<siz...
程序百科的头像-程序百科程序百科1年前
506

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

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

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

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

面试题:为什么 JDK 1.8 对 HashMap 进行了红黑树的改动?

JDK 1.8 对 HashMap 引入红黑树的主要目的是优化极端情况下哈希冲突导致的性能问题,通过将链表转换为红黑树,将最坏情况下的时间复杂度从 O(n) 降低到 O(log n),从而显著提升性能。以下是详细...
程序百科的头像-程序百科程序百科1年前
535

面试题:什么是协程?Java 支持协程吗?

什么是协程? 协程(Coroutine) 是一种用户态的轻量级线程,它允许在特定的地方暂停执行并在稍后恢复执行。 与传统的线程相比,协程的切换由程序本身控制,而不是由操作系统内核管理。 这使得...
程序百科的头像-程序百科程序百科1年前
605

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

在 Java 中,DelayQueue 和 ScheduledThreadPoolExecutor 都是用于处理延迟任务的工具,但它们的设计目的、使用方式和内部实现都有显著的区别。下面将详细介绍这两者的不同之处。 DelayQueue De...
程序百科的头像-程序百科程序百科1年前
665

面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?

当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
程序百科的头像-程序百科程序百科1年前
465

面试题:什么是 Java 中的双亲委派模型?

在Java中,双亲委派模型(Parent Delegation Model)是类加载器的一种工作模式。它确保了Java应用程序中的类加载过程既安全又高效。通过这种机制,Java虚拟机(JVM)能够有效地管理不同来源的类...
程序百科的头像-程序百科程序百科1年前
765