排序
面试题:什么是 Java 中的 logging write barrier?
在 Java 中,Logging Write Barrier 是一种用于垃圾收集器(尤其是并发垃圾收集器)的机制,用于在应用程序线程修改对象引用时记录这些修改,以确保垃圾收集器能够正确地跟踪对象图的动态...
面试题:Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性?
在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)垃圾收集器都支持并发垃圾回收,即在应用程序运行的同时执行部分垃圾回收工作。为了维持并发的正确性,它们需要解决以下问题:...
面试题:为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集?
G1(Garbage-First)垃圾收集器在设计上采用了一种分区(Region)的堆内存管理方式,将堆划分为多个大小相等的区域(Region),每个区域可以是 Eden、Survivor 或 Old 区。G1 的记忆集(Remembe...
面试题:Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同?
在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)是两种常见的垃圾回收器,它们在记忆集(Remembered Set,简称 RSet)的维护上有一些显著的不同。记忆集的主要作用是记录跨代...
面试题:JVM 新生代垃圾回收如何避免全堆扫描?
在 JVM 中,新生代垃圾回收主要通过分代收集算法来避免全堆扫描。具体来说,JVM 将堆内存分为新生代(Young Generation)和老年代(Old Generation),新生代又分为 Eden 区、Survivor 0 区和 S...
面试题: 为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old
在Java中,年轻代(Young Generation)和老年代(Old Generation)的垃圾收集器(GC)需要协同工作,以确保整个堆内存的高效管理。然而,并不是所有的年轻代和老年代收集器都可以组合使用。某些...
面试题:为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的?
在Java中,CMS垃圾收集器(Concurrent Mark-Sweep)在发生 Concurrent Mode Failure 时触发的 Full GC 是单线程的,主要原因与CMS的设计目标、实现机制以及失败场景的特殊...
面试题:JVM 垃圾回收时产生的 concurrent mode failure 的原因是什么?
Concurrent Mode Failure 是Java中CMS垃圾回收器(Concurrent Mark-Sweep)在运行过程中可能遇到的一种失败情况。CMS是一种以低停顿时间为目标的垃圾回收器,它的大部分工作是与应用程序线...
面试题:什么是 Java 的 PLAB?
在Java中,PLAB(Promotion Local Allocation Buffer,晋升本地分配缓冲区)是一种用于优化对象从年轻代晋升到老年代的机制。它是并行垃圾回收器(如Parallel Scavenge、G1等)中的一种技术,旨...
面试题:什么情况下会触发 Java 的 Full GC?
在Java中,Full GC(全局垃圾回收)是对整个堆内存(包括年轻代、老年代)以及方法区(Metaspace)进行垃圾回收的过程。Full GC的触发条件通常与内存分配失败或垃圾回收策略有关,以下是常见的...