java共193篇

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

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

面试题:什么是 Java 中的继承机制?

在Java中,继承是一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以重用、扩展和修改父类的行为,而无需重新编写已有代码。这是面向...
程序百科的头像-程序百科程序百科6个月前
447

面试题:什么是 Java 中的 ABA 问题?

在Java中,ABA问题是出现在使用无锁算法(如CAS操作,Compare-And-Swap)时的一种潜在的竞争条件问题。 这个问题通常发生在多线程环境下,当一个线程尝试进行CAS操作时,它会检查某个值是否仍然...
程序百科的头像-程序百科程序百科6个月前
417

面试题:为什么 Java 中的 ThreadLocal 对 key 的引用为弱引用?

在Java中,ThreadLocal 变量的键(即 ThreadLocal 实例)使用弱引用(Weak Reference)主要是为了防止内存泄漏。理解这一点需要从 ThreadLocal 的内部实现机制和Java垃圾回收机制两个方面来分析...
程序百科的头像-程序百科程序百科6个月前
587

面试题:Volatile 与 Synchronized 的区别是什么?

在 Java 中,volatile 和 synchronized 都是用于确保线程之间的可见性和有序性,但它们的作用和使用场景有着明显的区别。以下是它们的主要区别: 1. 可见性 volatile:保证了变量的可见性,即当...
程序百科的头像-程序百科程序百科6个月前
357

面试题:Java 中的序列化和反序列化是什么?

在 Java 中,序列化和反序列化是用于将对象的状态转换为字节流(序列化),以及从字节流恢复对象的状态(反序列化)的过程。这一机制使得对象可以通过网络传输或保存到文件系统中,并在需要时重...
程序百科的头像-程序百科程序百科6个月前
297

面试题:Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么区别?分别有什么优缺点?

CopyOnWriteArrayList 和 Collections.synchronizedList() 都是 Java 中用于实现线程安全的列表操作的方式,但它们的工作机制、适用场景和性能特点有着显著的不同。以下是两者的...
程序百科的头像-程序百科程序百科6个月前
237

面试题:Java 的 CMS 垃圾回收流程是怎样的?

CMS(Concurrent Mark-Sweep)垃圾收集器是为了解决老年代垃圾回收问题而设计的一种低延迟的垃圾收集器。它的主要目标是在执行垃圾收集时尽量减少“Stop the World”事件的发生,从而降低应用的...
程序百科的头像-程序百科程序百科6个月前
377

面试题:为什么 Java 中 HashMap 的默认负载因子是 0.75?

Java 中 HashMap 的默认负载因子(Load Factor)设置为 0.75,这是一个经过数学分析和工程实践验证的折中值,旨在在 空间利用率 和 时间性能 之间取得最佳平衡。以下是详细解释: 1. 负载因子的...
程序百科的头像-程序百科程序百科6个月前
546

面试题:Java 中 wait() 和 sleep() 的区别?

在Java中,wait()和sleep()都是用于控制线程执行的方法,但它们有着不同的用途和行为。理解它们之间的区别对于编写正确的并发代码至关重要。 wait() 所属类:wait()是Object类的一部分,这意味...
程序百科的头像-程序百科程序百科6个月前
536