Java共437篇

面试题:什么是 Java 的 PLAB?

在Java中,PLAB(Promotion Local Allocation Buffer,晋升本地分配缓冲区)是一种用于优化对象从年轻代晋升到老年代的机制。它是并行垃圾回收器(如Parallel Scavenge、G1等)中的一种技术,旨...
程序百科的头像-程序百科程序百科45天前
03911

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

在Java中,Full GC(全局垃圾回收)是对整个堆内存(包括年轻代、老年代)以及方法区(Metaspace)进行垃圾回收的过程。Full GC的触发条件通常与内存分配失败或垃圾回收策略有关,以下是常见的...
程序百科的头像-程序百科程序百科45天前
03313

面试题:什么条件会触发 Java 的 young GC?

在Java中,Young GC(年轻代垃圾回收)的触发条件主要与年轻代(Young Generation)的内存使用情况有关。年轻代包括Eden区和两个Survivor区(S0和S1)。以下是触发Young GC的具体条件: 触发条...
程序百科的头像-程序百科程序百科45天前
03311

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

在Java中,垃圾回收(GC)是自动内存管理的关键部分。不同的GC类型针对不同的内存区域和场景。以下是young GC、old GC、full GC和mixed GC的区别: 1. Young GC(年轻代GC) 目标区域:年...
程序百科的头像-程序百科程序百科45天前
0298

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

三色标记算法(Tri-color Marking Algorithm) 是一种用于垃圾回收的标记算法,主要用于追踪和标记存活对象。它是现代垃圾回收器(如 G1、CMS、ZGC 等)的核心算法之一。三色标记算法通过...
程序百科的头像-程序百科程序百科45天前
03312

面试题:为什么 Java 新生代被划分为 S0、S1 和 Eden 区?

Java 新生代被划分为 Eden 区 和两个 Survivor 区(S0 和 S1),这种设计是为了优化垃圾回收的效率,减少内存碎片,并提高内存利用率。以下是这种划分的具体原因和优势: 1.&nbs...
程序百科的头像-程序百科程序百科45天前
04912

面试题:为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?

在 Java 8 中,永久代(PermGen)被移除,取而代之的是元空间(Metaspace)。这一变化主要是为了解决永久代的一些固有缺陷,并提升 JVM 的内存管理效率。以下是永久代被移除以及元空间引入的原...
程序百科的头像-程序百科程序百科45天前
04812

面试题:为什么 Java 的垃圾收集器将堆分为老年代和新生代?

Java 的垃圾收集器将堆内存分为 老年代(Old Generation) 和 新生代(Young Generation),主要是基于以下两个核心观察和假设: 1. 弱分代假设(Weak Generational Hypoth...
程序百科的头像-程序百科程序百科45天前
02810

面试题: Java 中如何判断对象是否是垃圾?不同垃圾回收方法有何区别?

在 Java 中,判断对象是否是垃圾以及回收垃圾是垃圾收集器(Garbage Collector, GC)的核心任务。以下是关于如何判断对象是否是垃圾,以及不同垃圾回收方法的详细说明。 1. 如何判断对象是...
程序百科的头像-程序百科程序百科45天前
04315

面试题: Java 中常见的垃圾收集器有哪些?

在 Java 中,垃圾收集器(Garbage Collector, GC)是 JVM 的重要组成部分,负责自动管理内存,回收不再使用的对象。Java 提供了多种垃圾收集器,每种收集器都有其特定的使用场景和优缺点。以下...
程序百科的头像-程序百科程序百科45天前
04714