Java 虚拟机共46篇

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

面试题:JVM 垃圾回收调优的主要目标是什么?

JVM垃圾回收(Garbor Collection, GC)调优的主要目标集中在以下几个方面: 减少GC停顿时间(Pause Time): 对于许多应用程序,特别是那些需要快速响应的实时系统或交互式应用,减少垃圾回收导...
程序百科的头像-程序百科程序百科1个月前
4715

面试题:JVM 有那几种情况会产生 OOM(内存溢出)?

Java虚拟机(JVM)在运行过程中可能会遇到多种原因导致的内存溢出(OutOfMemoryError,简称OOM)。以下是几种常见的OOM情况及其产生原因: Java堆空间不足(Java heap space): 当创建对象时,...
程序百科的头像-程序百科程序百科1个月前
2215

面试题:为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的?

当使用CMS(Concurrent Mark-Sweep)垃圾收集器时,'Concurrent Mode Failure' 是指在CMS尝试以并发模式执行老年代的垃圾回收时,由于老年代空间不足而无法完成该过程,导致不得不触发一次Full ...
程序百科的头像-程序百科程序百科1个月前
2215

面试题:JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么?

在使用CMS(Concurrent Mark-Sweep)垃圾收集器时,'Concurrent Mode Failure'(并发模式失败)是一个重要的概念。这种失败通常发生在CMS尝试以并发模式执行老年代的垃圾回收时,但由于某些原因...
程序百科的头像-程序百科程序百科1个月前
2815

面试题:Java 中的强引用、软引用、弱引用和虚引用分别是什么?

在Java中,引用类型主要包括强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。每种引用类型都有其特定的用途和应用场景,下面...
程序百科的头像-程序百科程序百科1个月前
3315

面试题:你了解 Java 的逃逸分析吗?

逃逸分析是 Java 虚拟机(JVM)在运行时进行的一项动态分析技术,主要用于判断一个对象的引用是否可能“逃逸”出当前线程或方法的范围。 如果 JVM 能够确定一个对象不会逃逸到其他线程或方法中...
程序百科的头像-程序百科程序百科1个月前
4915

面试题:什么情况下会触发 Java 的 Full GC?

在Java中,Full GC指的是对整个堆(包括年轻代、老年代和永久代/元空间)进行垃圾回收的过程。触发Full GC的情况有多种,以下是一些常见的触发条件: 1. 老年代空间不足 当老年代没有足够的空间...
程序百科的头像-程序百科程序百科1个月前
3215

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

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

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

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

面试题:什么是 Java 中的常量池?

Java中的常量池是一个重要的运行时数据结构,主要用于存储编译期已知的字面量以及动态生成的符号引用等内容。它在类加载、链接和运行过程中扮演着关键角色。常量池主要分为两种类型:静态常量池...
程序百科的头像-程序百科程序百科1个月前
2214