排序
面试题:Java 的 G1 垃圾回收流程是怎样的?
G1(Garbage-First)是 Java 中一种面向全堆的垃圾回收器,旨在实现低延迟和高吞吐量的垃圾回收。G1 将堆内存划分为多个大小相等的区域(Region),每个区域可以是 Eden、Survivor 或 Old 区。G...
面试题: 什么是 Java 的 AOT(Ahead-Of-Time)?
Java 的 AOT(Ahead-of-time)编译是一种在程序运行之前将代码编译成机器码的技术。与传统的 JIT(Just-In-Time)编译不同,JIT 是在程序运行时将字节码动态编译为机器码,而 AOT 则在程序执行...
面试题:什么情况下会触发 Java 的 Full GC?
在Java中,Full GC(全局垃圾回收)是对整个堆内存(包括年轻代、老年代)以及方法区(Metaspace)进行垃圾回收的过程。Full GC的触发条件通常与内存分配失败或垃圾回收策略有关,以下是常见的...
面试题:编译执行与解释执行的区别是什么?JVM 使用哪种方式?
1. 编译执行与解释执行的区别 特性编译执行解释执行定义将源代码一次性编译成目标平台的机器码,然后执行。逐行读取源代码,边解释边执行。执行速度执行速度快,因为直接运行机器码。执行...
面试题:Java 的 CMS 垃圾回收流程是怎样的?
CMS(Concurrent Mark-Sweep)是 Java 中一种以低延迟为目标的垃圾回收器,主要用于老年代的垃圾回收。CMS 的核心思想是通过并发标记和并发清除来减少 STW(Stop-The-World)时间,从而降低垃圾...
面试题:你了解 Java 的逃逸分析吗?
是的,逃逸分析(Escape Analysis)是 Java 虚拟机(JVM)中的一种优化技术,用于分析对象的动态作用域,以确定对象是否可以在栈上分配,而不是在堆上分配。逃逸分析的目的是减少堆内存的压力和...
面试题:什么是 Java 的 PLAB?
在Java中,PLAB(Promotion Local Allocation Buffer,晋升本地分配缓冲区)是一种用于优化对象从年轻代晋升到老年代的机制。它是并行垃圾回收器(如Parallel Scavenge、G1等)中的一种技术,旨...
面试题:JVM 的内存区域是如何划分的?
JVM 的内存区域主要分为以下几个部分,每个部分都有特定的用途和管理方式。以下是 JVM 内存区域的详细划分: 1. 方法区(Method Area) 作用: 存储类的元数据信息,如类名、字段、方法信...
面试题:你了解 Java 的 ZGC(Z Garbage Collector)吗?
是的,我了解 Java 的 ZGC(Z Garbage Collector)。ZGC 是 Java 11 引入的一种低延迟垃圾回收器,旨在实现超大堆内存(TB 级别)下的亚毫秒级停顿时间。ZGC 的设计目标是解决传统垃圾回收...
面试题: Java 中的强引用、软引用、弱引用和虚引用分别是什么?
在 Java 中,引用类型决定了对象与垃圾回收器(GC)之间的交互方式。Java 提供了四种引用类型:强引用、软引用、弱引用和虚引用。它们的主要区别在于垃圾回收器对待这些引用的方式不同。 1. 强...