Java 虚拟机共46篇

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

面试题:JIT 编译后的代码存在哪?

JIT(Just-In-Time,即时编译)编译后的代码(即本地机器码)主要存储在 Java 虚拟机(JVM)的 Code Cache(代码缓存区) 中。 以下是更详细的解释: Code Cache(代码缓存区): 这是 JVM 堆外...
程序百科的头像-程序百科程序百科6个月前
547

面试题:Java G1 相对于 CMS 有哪些进步的地方?

G1(Garbage First)垃圾收集器相较于CMS(Concurrent Mark-Sweep)在多个方面有所改进和进步,主要包括以下几个关键点: 1. 可预测的停顿时间 G1:设计目标之一是提供可预测的停顿时间。通过设...
程序百科的头像-程序百科程序百科6个月前
5011

面试题:Java 是如何实现跨平台的?

Java实现跨平台的关键在于其“编写一次,到处运行”(Write Once, Run Anywhere)的设计理念。这一特性主要依赖于以下几个核心技术点: 1. Java虚拟机(JVM) 字节码与JVM:Java源代码首先被编...
程序百科的头像-程序百科程序百科6个月前
329

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

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

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

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

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

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

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

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

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

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

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

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

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

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