排序
面试题:如果一个线程在 Java 中被两次调用 start() 方法,会发生什么?
直接答案 会抛出 IllegalThreadStateException 异常。在 Java 中,一个线程对象只能被启动(start)一次,重复调用 start() 方法是非法操作。 详细解释 1. 线程生命周期状态 线程在被...
面试题:为什么 Java 不支持多重继承?
Java 设计时决定不支持多重继承,主要是为了避免由多重继承带来的复杂性和潜在的问题。虽然多重继承在某些情况下看起来很有吸引力,因为它允许一个类从多个基类继承方法和字段,但它也引入了一...
面试题:Java 创建线程池有哪些方式?
在Java中,创建线程池主要通过 java.util.concurrent 包下的 Executors 工具类和直接实例化 ThreadPoolExecutor 或 ScheduledThreadPoolExecutor 来实现。以下是几种常见的创建线程池的方式: 1...
面试题:Java 的 synchronized 是怎么实现的?
Java 的 synchronized 关键字提供了一种简单而强大的机制来确保线程安全,它通过隐式的方式实现对象或类级别的锁控制。以下是 synchronized 实现机制的详细解释: 1. 锁的对象 实例方法:当 syn...
面试题:如何在 Java 中进行内存泄漏分析?
在 Java 中进行内存泄漏分析是确保应用程序高效运行的重要步骤。Java 的自动垃圾回收机制虽然减轻了开发者手动管理内存的负担,但并不能完全避免内存泄漏问题。以下是几种常用的内存泄漏分析方...
面试题:你了解 Java 的类加载器吗?
类加载器是 Java 虚拟机(JVM)的一个核心组成部分,负责在程序运行时动态地将 .class 文件(字节码)加载到 JVM 中,并将其转换为 Java 的 java.lang.Class 对象。 类加载器使得 Java 能够在运...
面试题:什么是 Selector?
在Java中,Selector(选择器)是java.nio.channels包的一部分,它提供了一种高效的机制用于管理多个Channel(通道)的事件。简单来说,Selector允许单线程处理多个网络连接。
面试题:什么是 Java 泛型的上下界限定符?
在Java中,泛型的上下界限定符用于对类型参数进行约束,使得类型参数只能是某个特定类型或其子类型(上界),或者只能是某个特定类型或其父类型(下界)。这种机制增强了代码的灵活性和类型安全...
面试题:Java 中的 WeakHashMap 是什么 ?
WeakHashMap 是 Java 中的一种特殊的哈希映射实现,它位于 java.util 包中。与大多数其他映射不同,WeakHashMap 使用弱引用(Weak Reference)作为其键,这意味着在 WeakHashMap 中存储的键-值...
面试题:ThreadLocal 的缺点?
尽管 ThreadLocal 提供了线程本地存储的能力,使得每个线程可以拥有变量的一个独立初始化的副本,但它也存在一些缺点和潜在的问题: 1. 内存泄漏风险 类加载器相关的内存泄漏:如果 ThreadLocal...
