排序
面试题:Java 中有哪些垃圾回收算法?
Java中的垃圾回收(GC)机制是自动管理内存的一个重要特性,它通过不同的算法来识别和回收不再使用的对象所占用的内存。以下是几种常见的垃圾回收算法: 标记-清除算法(Mark-Sweep): 这是最...
面试题:什么是 Java 的封装特性?
Java的封装特性是面向对象编程(OOP)中的一个重要概念,它指的是将对象的状态信息(属性)隐藏在对象内部,不允许外部程序直接访问这些状态信息,而是通过该类提供的方法来实现对这些状态信息...
面试题:你使用过哪些 JDK 提供的工具?
JDK(Java Development Kit)提供了多种工具来帮助开发、调试和监控Java应用程序。以下是一些常用的JDK自带工具: javac:Java编译器,用于将Java源代码编译为字节码文件(即.class文件)。 jav...
面试题:Java ArrayList 的扩容机制是什么?
在 Java 中,ArrayList 是一个基于动态数组的数据结构。由于其内部使用数组来存储元素,因此当添加新元素而现有容量不足以容纳这些元素时,就需要进行扩容操作。以下是 ArrayList 的扩容机制的...
面试题:Java 中 ReentrantLock 的实现原理是什么?
ReentrantLock 是 Java 并发包 java.util.concurrent.locks 中的一部分,提供了一种比同步方法和同步块更灵活的锁定机制。 它支持与隐式监视器锁(通过 synchronized 关键字实现)相同的互斥锁...
面试题:Java 线程池有哪些拒绝策略?
在 Java 的 java.util.concurrent 包中,线程池通过 ThreadPoolExecutor 类来管理任务的执行。 当提交的任务超过了线程池的最大容量(即核心线程数加上队列容量)时,就需要一种策略来处理这些...
面试题:为什么 Java 新生代被划分为 S0、S1 和 Eden 区?
Java新生代被划分为三个区域:Eden区(伊甸园区)和两个Survivor区(通常标记为S0和S1),这种划分是基于分代垃圾回收理论和实际应用中的效率考虑。以下是具体原因: 1. 分代假设 弱世代假设:...
面试题:如何在 Java 中调用外部可执行程序或系统命令?
在 Java 中,可以使用 java.lang.Runtime 类或 java.lang.ProcessBuilder 类来调用外部可执行程序或系统命令。这两种方式都可以执行系统命令、启动外部程序,并获取其输入输出流和退出码。 ✅ ...
面试题:Java 中的参数传递是按值还是按引用?
在 Java 中,参数传递机制可以概括为“按值传递”(Pass by Value)。这意味着当一个方法被调用时,实际参数的值会被复制给形式参数。然而,理解这一点的关键在于区分基本数据类型和对象引用如...
面试题:在 Java 中主线程如何知晓创建的子线程是否执行成功?
在Java中,主线程想要知晓其创建的子线程是否执行成功,可以通过以下几种方式来实现: 1. 使用 Thread.join() 方法 join() 方法允许一个线程等待另一个线程完成。通过调用子线程...