java共193篇

面试题:Java 创建线程池有哪些方式?

在Java中,创建线程池主要通过 java.util.concurrent 包下的 Executors 工具类和直接实例化 ThreadPoolExecutor 或 ScheduledThreadPoolExecutor 来实现。以下是几种常见的创建线程池的方式: 1...
程序百科的头像-程序百科程序百科4个月前
467

面试题:Java 的 synchronized 是怎么实现的?

Java 的 synchronized 关键字提供了一种简单而强大的机制来确保线程安全,它通过隐式的方式实现对象或类级别的锁控制。以下是 synchronized 实现机制的详细解释: 1. 锁的对象 实例方法:当 syn...
程序百科的头像-程序百科程序百科4个月前
417

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

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

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

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

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

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

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

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

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

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

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

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

面试题:使用 new String(“yupi”) 语句在 Java 中会创建多少个对象?

在 Java 中,使用 new String('yupi') 创建字符串时,最多会创建 1 个或 2 个对象,具体取决于字符串常量池中是否已经存在 'yupi' 这个字符串。 ✅ 详细分析: 🔹 语句:ne...
程序百科的头像-程序百科程序百科4个月前
506

面试题:你使用过 Java 中的哪些原子类?

在 Java 中,原子类(Atomic Classes) 是 java.util.concurrent.atomic 包下的一组类,它们基于 CAS(Compare-And-Swap) 实现了线程安全的原子操作,避免了使用 synchronized 锁带来的性能开...
程序百科的头像-程序百科程序百科4个月前
466