java共193篇

面试题:什么是三色标记算法?

三色标记算法(Three-Color Marking Algorithm)是垃圾收集器中用于追踪和管理对象可达性的一种方法。 它主要用于支持并发或增量式垃圾收集,允许垃圾收集过程与应用程序的执行并行进行而不必完...
程序百科的头像-程序百科程序百科11个月前
526

面试题:什么是 Java 的 CyclicBarrier?

Java 中的 CyclicBarrier(循环屏障)是 java.util.concurrent 包提供的一个同步工具类,用于协调多个线程在某个“屏障点”(Barrier Point)等待彼此,直到所有线程都到达后再一起继续执行。它...
程序百科的头像-程序百科程序百科11个月前
5115

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

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

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

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

面试题:Java 中线程之间如何进行通信?

在 Java 中,线程间的通信可以通过多种机制实现,以确保多个线程能够协调工作而不发生数据不一致或竞争条件的问题。以下是几种常见的线程间通信的方法: 1. 使用 wait(), notify() 和 notifyAll...
程序百科的头像-程序百科程序百科11个月前
5011

面试题:Java 中什么情况会导致死锁?如何避免?

在Java中,死锁是指两个或多个线程处于互相等待的状态,每个线程都在等待其他线程释放资源,从而导致所有涉及的线程都无法继续执行。这种情况通常发生在多线程环境下,当线程需要同时获取多个锁...
程序百科的头像-程序百科程序百科11个月前
5011

面试题: Java 线程池核心线程数在运行过程中能修改吗?如何修改?

在 Java 的 ThreadPoolExecutor 中,核心线程数(core pool size)默认情况下是在创建线程池实例时设定的,并且在运行期间通常是固定的。 然而,在某些情况下你可能需要动态调整核心线程数以适...
程序百科的头像-程序百科程序百科11个月前
5012

面试题:Java 里的对象在虚拟机里面是怎么存储的?

在 Java 虚拟机(JVM)中,对象的存储主要涉及几个关键部分:堆内存、方法区以及栈内存。以下是关于 Java 对象在 JVM 中如何存储的详细说明: 堆(Heap) 对象实例数据:几乎所有的对象实例数据...
程序百科的头像-程序百科程序百科11个月前
5012

面试题:Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别?

在 Java 中,hashCode() 和 equals() 方法是 Object 类中的两个重要方法,它们用于定义对象的相等性和哈希值。与此同时,== 操作符用于比较两个变量是否指向同一...
程序百科的头像-程序百科程序百科11个月前
505

面试题:什么是 Java 的 CountDownLatch?

Java 中的 CountDownLatch(倒计数锁存器)是 java.util.concurrent 包提供的一个同步工具类,用于协调多个线程之间的执行顺序。它的核心功能是允许一个或多个线程等待一组操作完成后再继续执行...
程序百科的头像-程序百科程序百科11个月前
508