上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要: 为什么 Java 新生代被划分为 S0、S1 和 Eden 区? 在 Java 的 垃圾回收(GC)机制中,新生代 被进一步划分为 Eden 区 和两个 Survivor 区(S0 和 S1)。这种划分主要是基于 对象生命周期短 和 高效内存管理 的需求,目的是优化垃圾回收的效率。 1. 新生代的特 阅读全文
posted @ 2024-12-11 12:10 Eiffelzero 阅读(542) 评论(0) 推荐(0)
摘要: 为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)? 在 Java 8 中,JVM 移除了 永久代(PermGen)并引入了 元空间(Metaspace),这一改变主要是为了解决 PermGen 空间不足 和 内存管理效率低 的问题。以下是具体原因和改动的细节。 阅读全文
posted @ 2024-12-11 12:04 Eiffelzero 阅读(164) 评论(0) 推荐(0)
摘要: 为什么 Java 的垃圾收集器将堆分为老年代和新生代? Java 垃圾收集器通过将堆内存划分为 新生代 和 老年代,优化了内存管理,提高了垃圾回收的效率。这种分代思想是基于 对象生命周期的特点。 1. 对象生命周期的特点 短生命周期对象(临时对象): 例如局部变量、方法返回值等,生命周期通常较短。 阅读全文
posted @ 2024-12-11 12:02 Eiffelzero 阅读(199) 评论(0) 推荐(0)
摘要: Java 中如何判断对象是否是垃圾? 在 Java 中,垃圾是指不再被引用的对象。JVM 使用以下两种方法判断对象是否是垃圾: 1. 引用计数法(Reference Counting) 工作原理 每个对象维护一个计数器,记录被引用的次数。 当引用计数为 0 时,说明对象是垃圾,可以被回收。 优点 简 阅读全文
posted @ 2024-12-11 11:56 Eiffelzero 阅读(103) 评论(0) 推荐(0)
摘要: Java 中常见的垃圾收集器 Java 提供了多种垃圾收集器(Garbage Collector, GC),每种收集器针对不同的应用场景和需求进行了优化。以下是常见的垃圾收集器及其特点。 1. Serial 收集器 特点 单线程工作,适合单核 CPU 环境。 使用 标记-复制算法(新生代)和 标记- 阅读全文
posted @ 2024-12-11 11:51 Eiffelzero 阅读(378) 评论(0) 推荐(0)
摘要: Java 中的垃圾回收算法 Java 中的垃圾回收(Garbage Collection,GC)机制通过多种算法实现对堆内存的管理。以下是常见的垃圾回收算法: 1. 标记-清除算法(Mark-Sweep) 工作原理 标记阶段:遍历对象图,标记所有可达对象。 清除阶段:清除未标记的不可达对象,回收内存 阅读全文
posted @ 2024-12-11 11:48 Eiffelzero 阅读(741) 评论(0) 推荐(0)
摘要: Java 中的引用类型:强引用、软引用、弱引用和虚引用 Java 中的引用类型主要分为 强引用、软引用、弱引用 和 虚引用,它们对对象的生命周期和垃圾回收(GC)行为产生不同的影响。 1. 强引用(Strong Reference) 定义 强引用是 Java 中最常见的引用类型。通过赋值操作符 = 阅读全文
posted @ 2024-12-11 00:51 Eiffelzero 阅读(62) 评论(0) 推荐(0)
摘要: Java 的逃逸分析 1. 定义 逃逸分析(Escape Analysis)是 JVM 的一种优化技术,用于分析对象的作用域,从而决定对象的分配方式或优化手段。 主要目的是判断一个对象是否会逃离当前方法或线程的作用域。 2. 逃逸分析的类型 2.1 方法逃逸 如果对象被方法外的代码引用,则该对象发生 阅读全文
posted @ 2024-12-11 00:38 Eiffelzero 阅读(370) 评论(0) 推荐(0)
摘要: Java 的 AOT(Ahead-Of-Time) 1. 定义 AOT(Ahead-Of-Time)编译是与 JIT(Just-In-Time)相对的一种编译方式。 在 AOT 模式下,Java 字节码(Bytecode)在程序运行之前,就被提前编译为目标平台的本地机器代码。 AOT 编译器:一个工 阅读全文
posted @ 2024-12-11 00:18 Eiffelzero 阅读(801) 评论(0) 推荐(0)
摘要: JIT 编译后的代码存储位置 1. 存储位置 JIT 编译后的本地机器代码被存储在 JVM 的 Code Cache(代码缓存区)中。 Code Cache 是 JVM 内存的一部分,用于保存 JIT 编译生成的机器码,避免重复编译和提高代码执行效率。 2. Code Cache 的特性 作用: 存 阅读全文
posted @ 2024-12-10 23:55 Eiffelzero 阅读(176) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
点击右上角即可分享
微信分享提示