Java共437篇

面试题:Java 的 CMS 垃圾回收流程是怎样的?

CMS(Concurrent Mark-Sweep)是 Java 中一种以低延迟为目标的垃圾回收器,主要用于老年代的垃圾回收。CMS 的核心思想是通过并发标记和并发清除来减少 STW(Stop-The-World)时间,从而降低垃圾...
程序百科的头像-程序百科程序百科45天前
03114

面试题:Java 的 G1 垃圾回收流程是怎样的?

G1(Garbage-First)是 Java 中一种面向全堆的垃圾回收器,旨在实现低延迟和高吞吐量的垃圾回收。G1 将堆内存划分为多个大小相等的区域(Region),每个区域可以是 Eden、Survivor 或 Old 区。G...
程序百科的头像-程序百科程序百科45天前
02913

面试题:什么是 Java 中的 logging write barrier?

在 Java 中,Logging Write Barrier 是一种用于垃圾收集器(尤其是并发垃圾收集器)的机制,用于在应用程序线程修改对象引用时记录这些修改,以确保垃圾收集器能够正确地跟踪对象图的动态...
程序百科的头像-程序百科程序百科45天前
0406

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

在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)垃圾收集器都支持并发垃圾回收,即在应用程序运行的同时执行部分垃圾回收工作。为了维持并发的正确性,它们需要解决以下问题:...
程序百科的头像-程序百科程序百科45天前
02911

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

G1(Garbage-First)垃圾收集器在设计上采用了一种分区(Region)的堆内存管理方式,将堆划分为多个大小相等的区域(Region),每个区域可以是 Eden、Survivor 或 Old 区。G1 的记忆集(Remembe...
程序百科的头像-程序百科程序百科45天前
0296

面试题:Java 的 CMS 垃圾回收器和 G1 垃圾回收器在记忆集的维护上有什么不同?

在 Java 中,CMS(Concurrent Mark-Sweep)和 G1(Garbage-First)是两种常见的垃圾回收器,它们在记忆集(Remembered Set,简称 RSet)的维护上有一些显著的不同。记忆集的主要作用是记录跨代...
程序百科的头像-程序百科程序百科45天前
0256

面试题:JVM 新生代垃圾回收如何避免全堆扫描?

在 JVM 中,新生代垃圾回收主要通过分代收集算法来避免全堆扫描。具体来说,JVM 将堆内存分为新生代(Young Generation)和老年代(Old Generation),新生代又分为 Eden 区、Survivor 0 区和 S...
程序百科的头像-程序百科程序百科45天前
0246

面试题: 为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old

在Java中,年轻代(Young Generation)和老年代(Old Generation)的垃圾收集器(GC)需要协同工作,以确保整个堆内存的高效管理。然而,并不是所有的年轻代和老年代收集器都可以组合使用。某些...
程序百科的头像-程序百科程序百科45天前
0325

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

在Java中,CMS垃圾收集器(Concurrent Mark-Sweep)在发生 Concurrent Mode Failure 时触发的 Full GC 是单线程的,主要原因与CMS的设计目标、实现机制以及失败场景的特殊...
程序百科的头像-程序百科程序百科45天前
0409

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

Concurrent Mode Failure 是Java中CMS垃圾回收器(Concurrent Mark-Sweep)在运行过程中可能遇到的一种失败情况。CMS是一种以低停顿时间为目标的垃圾回收器,它的大部分工作是与应用程序线...
程序百科的头像-程序百科程序百科45天前
0445