java共193篇

面试题:你使用过哪些 JDK 提供的工具?

JDK(Java Development Kit)提供了多种工具来帮助开发、调试和监控Java应用程序。以下是一些常用的JDK自带工具: javac:Java编译器,用于将Java源代码编译为字节码文件(即.class文件)。 jav...
程序百科的头像-程序百科程序百科4个月前
428

面试题:Java ArrayList 的扩容机制是什么?

在 Java 中,ArrayList 是一个基于动态数组的数据结构。由于其内部使用数组来存储元素,因此当添加新元素而现有容量不足以容纳这些元素时,就需要进行扩容操作。以下是 ArrayList 的扩容机制的...
程序百科的头像-程序百科程序百科4个月前
7010

面试题:Java 中 ReentrantLock 的实现原理是什么?

ReentrantLock 是 Java 并发包 java.util.concurrent.locks 中的一部分,提供了一种比同步方法和同步块更灵活的锁定机制。 它支持与隐式监视器锁(通过 synchronized 关键字实现)相同的互斥锁...
程序百科的头像-程序百科程序百科4个月前
409

面试题:Java 线程池有哪些拒绝策略?

在 Java 的 java.util.concurrent 包中,线程池通过 ThreadPoolExecutor 类来管理任务的执行。 当提交的任务超过了线程池的最大容量(即核心线程数加上队列容量)时,就需要一种策略来处理这些...
程序百科的头像-程序百科程序百科4个月前
355

面试题:为什么 Java 新生代被划分为 S0、S1 和 Eden 区?

Java新生代被划分为三个区域:Eden区(伊甸园区)和两个Survivor区(通常标记为S0和S1),这种划分是基于分代垃圾回收理论和实际应用中的效率考虑。以下是具体原因: 1. 分代假设 弱世代假设:...
程序百科的头像-程序百科程序百科4个月前
6313

面试题:如何在 Java 中调用外部可执行程序或系统命令?

在 Java 中,可以使用 java.lang.Runtime 类或 java.lang.ProcessBuilder 类来调用外部可执行程序或系统命令。这两种方式都可以执行系统命令、启动外部程序,并获取其输入输出流和退出码。 ✅ ...
程序百科的头像-程序百科程序百科4个月前
667

面试题:Java 中的参数传递是按值还是按引用?

在 Java 中,参数传递机制可以概括为“按值传递”(Pass by Value)。这意味着当一个方法被调用时,实际参数的值会被复制给形式参数。然而,理解这一点的关键在于区分基本数据类型和对象引用如...
程序百科的头像-程序百科程序百科4个月前
2614

面试题:在 Java 中主线程如何知晓创建的子线程是否执行成功?

在Java中,主线程想要知晓其创建的子线程是否执行成功,可以通过以下几种方式来实现: 1. 使用 Thread.join() 方法 join() 方法允许一个线程等待另一个线程完成。通过调用子线程...
程序百科的头像-程序百科程序百科4个月前
307

面试题: Java 中 ReentrantLock 的实现原理是什么?

ReentrantLock 是 Java 提供的一个显式锁实现,位于 java.util.concurrent.locks 包中。 它提供了与 synchronized 类似的同步功能,但相比 synchronized,它更加灵活,并提供了更多的特性,如公...
程序百科的头像-程序百科程序百科4个月前
317

面试题:你常用哪些工具来分析 JVM 性能?

分析 JVM 性能是优化 Java 应用程序的关键步骤之一。以下是一些常用的工具和技术,它们可以帮助你监控和分析 JVM 的性能: 1. JDK 自带工具 jstat:用于监控JVM的性能统计信息,包括垃圾回收、...
程序百科的头像-程序百科程序百科4个月前
4115