Java 虚拟机共46篇

JVM 是 Java 程序运行的核心,是性能优化与问题排查的基础。Java 虚拟机面试题的考察重点包括 JVM 的内存区域划分、垃圾回收机制、类加载过程、性能监控与调优、字节码指令、JIT 编译、内存泄漏的分析与排查、以及不同垃圾回收器的应用场景。

面试题:Java 中的 young GC、old GC、full GC 和 mixed GC 的区别是什么?

在Java的垃圾回收机制中,young GC、old GC、full GC和mixed GC分别指不同的垃圾收集过程,它们针对堆内存的不同区域,并且有不同的触发条件和目标。以下是这些术语的具体含义及其区别: Young ...
程序百科的头像-程序百科程序百科4个月前
379

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

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

面试题:什么是 Java 中的 JIT(Just-In-Time)?

Java中的JIT(Just-In-Time)编译器是Java虚拟机(JVM)的一部分,用于提高Java应用程序的执行效率。Java源代码首先被编译成字节码(bytecode),这是一种与平台无关的中间表示形式。 当运行这...
程序百科的头像-程序百科程序百科4个月前
5412

面试题:Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性?

CMS(Concurrent Mark-Sweep)和 G1(Garbage First)垃圾收集器在Java中通过不同的机制来维持并发操作的正确性,即确保在应用程序线程与垃圾收集器线程同时运行时不会导致数据不一致或错误。 ...
程序百科的头像-程序百科程序百科4个月前
288

面试题:JVM 的 TLAB(Thread-Local Allocation Buffer)是什么?

TLAB(Thread-Local Allocation Buffer,线程本地分配缓冲区)是JVM为了提高对象分配效率而设计的一种机制。它主要用于优化在多线程环境下对堆内存的分配操作。 TLAB的作用 在Java应用中,大多...
程序百科的头像-程序百科程序百科4个月前
4512

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

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

面试题:如何在 Java 中进行内存泄漏分析?

在 Java 中进行内存泄漏分析是确保应用程序高效运行的重要步骤。Java 的自动垃圾回收机制虽然减轻了开发者手动管理内存的负担,但并不能完全避免内存泄漏问题。以下是几种常用的内存泄漏分析方...
程序百科的头像-程序百科程序百科4个月前
5414

面试题:你了解 Java 的类加载器吗?

类加载器是 Java 虚拟机(JVM)的一个核心组成部分,负责在程序运行时动态地将 .class 文件(字节码)加载到 JVM 中,并将其转换为 Java 的 java.lang.Class 对象。 类加载器使得 Java 能够在运...
程序百科的头像-程序百科程序百科4个月前
226

面试题:为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集?

G1垃圾收集器的设计初衷是为了高效管理大堆内存,同时提供可预测的停顿时间。 为了实现这些目标,G1引入了分区(Region)的概念,并且在不同代之间使用记忆集(Remembered Set, RS)来跟踪跨代...
程序百科的头像-程序百科程序百科4个月前
4310

面试题:Java 中有哪些垃圾回收算法?

Java中的垃圾回收(GC)机制是自动管理内存的一个重要特性,它通过不同的算法来识别和回收不再使用的对象所占用的内存。以下是几种常见的垃圾回收算法: 标记-清除算法(Mark-Sweep): 这是最...
程序百科的头像-程序百科程序百科4个月前
475